【问题标题】:My sudo command not working [closed]我的 sudo 命令不起作用[关闭]
【发布时间】:2012-10-23 05:31:31
【问题描述】:

我有一个 mac 10.8.2 山狮,当我尝试使用 sudo 命令时,我得到了这个:

 sudo: /private/etc/sudoers is owned by uid 501, should be 0
 sudo: no valid sudoers sources found, quitting

我已经搜索了谷歌并尝试了几件事,但有一件事解决了我原来的烫发问题,0440 是 0640 或其他东西,但我明白了。任何帮助将不胜感激

【问题讨论】:

    标签: macos permissions sudo


    【解决方案1】:

    解决此问题的最简单方法是使用磁盘工具的修复磁盘权限功能。运行磁盘工具,在边栏中选择您的启动卷,选择 First Sid 选项卡,然后单击修复磁盘权限。

    并且在未来,使用visudo 命令编辑 sudoers 文件以避免此类问题。

    更新:修复磁盘权限功能在 El Capitain (10.11) 中被删除,因为它(大部分)被System Integrity Protection 取代。如果您需要在 10.11 或更高版本中修复 /etc/sudoers 的权限,您可以从 AppleScript 中完成:

    1. 打开脚本编辑器实用程序。
    2. 如果没有自动打开新的(空白)脚本窗口,请选择“文件”菜单 >“新建”(或按 Command-N)打开一个。
    3. 输入以下脚本:

      do shell script "chown root:wheel /etc/sudoers; chmod 440 /etc/sudoers; chmod -N /etc/sudoers" with administrator privileges
      
    4. 选择脚本菜单 > 编译(或按 Command-K,或单击工具栏中的编译按钮)。它应该为脚本着色以指示 AppleScript 语法。如果它报告任何错误,请确保您正确复制了脚本。

    5. 选择“脚本”菜单 >“运行”(或按 Command-R,或单击工具栏中的“运行”按钮)。
    6. 出现提示时输入您的管理员密码。

    【讨论】:

    • 我可以确认磁盘工具(以及将来使用 visudo)是正确的答案,以防其他人需要该信息。
    • 我可以确认它对我不起作用 :( 但基本上你可以通过 Finder 打开文件来修改/etc/sudoers。不知何故,它会提示你进行管理员身份验证,而不依赖于损坏的文件。
    • 这不适用于 OS X El Capitan
    • @zok 查看我的更新。
    • @GordonDavisson 谢谢!我实际上尝试过(不成功),但后来我通过启动到单用户模式(持有 CMD+S)然后修复所有权和权限来解决它。像这样:everythingmacintosh.com/tech-notes/…
    最近更新 更多