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

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

在努力打造数值模拟带有 Intel 的 Python 数学模块数学内核库(MKL) 在 OSX 10.8.3 上,我遇到了 Accelerate 和 vecLib 框架覆盖 MKL 的一些问题。无论如何,我认为暂时重命名是个好/System/Library/Frameworks/Accelerate.framework主意/System/Library/Frameworks/vecLib.framework。移动后没有任何反应(至少在命令行上)Accelerate.framework。然而进入之后

sudo mv vecLib.framework/ vecLib.framework.old

我收到以下错误:

sudo: unable to initialize PAM: No such file or directory

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

The operation can’t be completed.
An unexpected error occurred (error code -8076).

这显然是某种权限错误。

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

有什么建议么?


通常我不会交叉帖子,但我需要尽快找到解决这个问题的方法。

答案1

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

open /etc/pam.d/

权限变更

确保之后再次重置权限。

答案2

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

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

答案3

您可以通过系统偏好设置启用 root 用户。无需注销或启动至单用户模式。看:/etc/pam.d/sudo 中的拼写错误并且无法从中恢复

答案4

另一种选择是启用 Root 用户(https://support.apple.com/en-us/HT204012)并用它登录。然后您将能够从查找器编辑该文件。

相关内容