macos - 在 OSX El Capitan 中失去对 sudo 的许可

标签 macos sudo chmod osx-elcapitan

我刚开始使用 OSX(使用 El Capitan 10.11.3),在尝试使用 sudo 更改文件权限时,我不小心损坏了它。现在,每当我尝试使用 sudo 全局安装任何东西时,我都会收到以下错误消息。

sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting

有什么办法可以解决吗?

我什至无法查看/etc 文件夹

bash: cd: /etc: Permission denied

检查/etc文件夹的权限时,如下

lrwxr-xr-x@  1 root  wheel   etc -> private/etc

最佳答案

我有同样的问题,在我的例子中,根文件夹的权限被破坏了。人们忽略的是,/ 实际上也是一个真实的、普通的目录,就像每个目录一样,它有所有权和权限。所有权应为 root:wheel,权限应为 755(即 rwxr-xr-x)。

恢复两者的最简单方法是启动 Script Editor,然后键入并运行该脚本:

do shell script "/usr/sbin/chown root:wheel /" with administrator privileges
do shell script "/bin/chmod 755 /" with administrator privileges

系统会提示您输入 amdin 密码,然后 chownchmod 会派上用场。之后 sudo 再次工作。

关于macos - 在 OSX El Capitan 中失去对 sudo 的许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36264655/

相关文章:

linux - Linux 上的 Swift : how to specify compiler optimizations

linux - 无需创建中间进程即可切换用户

bash - 将 sudo 密码作为变量存储在脚本中——安全吗?

debian - 如何以root身份运行sudo命令?

linux - linux中的chmod可以有多少种组合?

wordpress - 上传的文件无法移动到 wp-content/uploads

ios - Objective-C,NSTask缓冲区限制

php - 支持 Git 的 Mac OS X PHP IDE

java - 如何从 MAC OS X 应用程序中的自定义协议(protocol) URL 获取 Java 代码中的 URL 字符串

bash - 为什么我的 setuid root bash shell 脚本不起作用?