sudo: 无法初始化 PAM: 没有这样的文件或目录

Mat*_*DMo 8 osx pam sudo

当尝试在 OSX 10.8.3 上使用英特尔数学核心库(MKL) 构建NumPy Python 数学模块时,我遇到了 Accelerate 和 vecLib 框架覆盖 MKL 的一些问题。无论如何,我认为暂时重命名是个好主意。移动后没有任何反应(至少在命令行上)。然而进入之后/System/Library/Frameworks/Accelerate.framework/System/Library/Frameworks/vecLib.frameworkAccelerate.framework

\n\n
sudo mv vecLib.framework/ vecLib.framework.old\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到以下错误:

\n\n
sudo: unable to initialize PAM: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n\n

哎呀。不幸的是,该mv命令有效,但现在当我尝试使用时sudo出现相同的错误,但命令不起作用。当我尝试vecLib通过 Finder 重命名时,我得到:

\n\n
The operation can\xe2\x80\x99t be completed.\nAn unexpected error occurred (error code -8076).\n
Run Code Online (Sandbox Code Playgroud)\n\n

这显然是某种权限错误。

\n\n

所以,我的问题是我怎样才能sudo重新开始工作?App Store.app 甚至无法运行,所以我无法重新安装 XCode(这显然是vecLib.framework来自哪里)或其他任何东西。我害怕重新启动,因为我担心计算机会挂起,而(正如您所知)至少它现在可以工作,尽管没有任何提升的权限功能。

\n\n

有什么建议么?

\n\n
\n\n

通常我不会交叉发布,但我需要尽快找到解决此问题的方法。

\n

小智 14

您还可以/etc/pam.d/sudo在 Finder 中显示该文件并更改其中的权限。

open /etc/pam.d/
Run Code Online (Sandbox Code Playgroud)

权限变更

确保之后再次重置权限。


Mat*_*DMo 4

使用 OSX,您可以在重新启动后按住Command-启动进入单用户模式S。您基本上可以对系统进行无密码 root 访问,无需 PAM 或其他身份验证,因此您可以通过这种方式修复各种系统问题,例如丢失密码和意外目录重命名。

是的,这是一个潜在的安全漏洞,但让某人物理访问您的计算机本身就是一个安全漏洞。如果您愿意,可以禁用/密码保护它,如果您真的担心,您可以随时加密您的卷,这样入侵者即使到达这里也无法读取您的文件。