【问题标题】:Lost permission for sudo in OSX El Capitan在 OSX El Capitan 中失去 sudo 权限
【发布时间】:2016-03-28 14:43:17
【问题描述】:

我是使用 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: 权限被拒绝

当我检查 /etc 文件夹的权限时,它们如下

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

【问题讨论】:

  • 您是管理员用户吗?在 bash 中输入 csrutil status 时你得到了什么?

标签: macos sudo chmod osx-elcapitan


【解决方案1】:

我遇到了同样的问题,在我的情况下,根文件夹的权限已损坏。人们忽略的是,/ 实际上也是一个真实的、普通的目录,就像每个目录一样,它拥有所有权和权限。所有权应为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 又开始工作了。

【讨论】:

  • 谢谢,这个解决方案对我很有效。聪明的修复,使用苹果内部的提升方法来修复。不确定为什么会发生这种情况,出于某种原因,权限是 705。 macOS Sierra 10.12.2
  • 在脚本编辑器上运行该脚本后应该发生什么事情吗?我输入密码,点击确定,没有任何反应。我可以在一瞬间看到它“正在运行”,但我仍然无法 chown 或 chmod 或 sudo 并且我得到相同的错误(没有有效的 sudoers)
  • @zok 错误的所有权或根文件夹的文件权限只是问题的一个原因,但它们不是唯一可能的原因。你检查过你的root的所有权和权限真的错了吗?好像他们不是,当然运行该脚本不会为您解决任何问题。并且“没有有效的 sudoers”也可能意味着您的 sudoers 文件确实已损坏(包含垃圾)或可能已被删除。您是否检查过该文件是否存在?你不需要root权限来检查。
  • 完美,为我修复了 sudo。谢谢!
【解决方案2】:

Disable System Integrity Protection (rootless)

  1. 在听到启动提示音后,重新启动 Mac 并同时按住 Command + R 键,这会将 OS X 启动到恢复模式
  2. 当“OS X Utilities”屏幕出现时,下拉屏幕顶部的“Utilities”菜单,然后选择“Terminal”
  3. 在终端输入以下命令然后回车:

    csrutil 禁用;重启

  4. 您会看到一条消息,提示系统完整性保护已被禁用,Mac 需要重新启动才能使更改生效,然后 Mac 将自动重新启动,只需让它正常启动即可

【讨论】:

  • 这是一台工作电脑。所以,我相信我不是系统管理员。运行 csrutil status 系统完整性保护状态时收到以下消息:已启用。禁用它可以吗?
  • 我可以以非管理员身份禁用它还是管理员必须这样做?另外,我在健康行业工作。禁用此功能会导致任何安全问题吗?
  • 对于开发人员来说,系统完整性保护是一场噩梦:)。
  • 我尝试进入恢复模式,但似乎我需要 root 密码才能登录恢复模式
  • 所以你可以联系你的系统管理员来提及这个问题。
猜你喜欢
  • 2016-01-05
  • 2016-07-06
  • 1970-01-01
  • 2016-09-14
  • 2015-12-29
  • 2016-12-12
  • 2016-05-08
  • 2016-11-03
  • 1970-01-01
相关资源
最近更新 更多