我的sudo命令无法使用

6

我有一台Mac 10.8.2 Mountain Lion电脑,当我尝试使用sudo命令时出现以下情况:

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

我在 Google 上搜索了很多内容并尝试了很多方法,但只有一种方法能够解决我的原始权限问题——将 0440 改为 0640。但是出现了新的问题。需要帮助,非常感谢。

1个回答

18

最简单的解决方法是使用磁盘工具的修复磁盘权限功能。运行磁盘工具,选择侧边栏中的启动卷,选择“First Aid”选项卡,然后点击“修复权限”。

另外,在未来要避免这种问题,可以使用visudo命令编辑sudoers文件。

更新:在El Capitain(10.11)中删除了修复磁盘权限功能,因为它(大多数情况下)被系统完整性保护所取代。如果你需要在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. 提示时输入管理员密码。

1
我可以确认磁盘工具(以及将来使用visudo)是正确的答案,以防其他人需要这些信息。 - Peter Hanley
我可以确认它对我没有起作用 :( 但是基本上你可以通过Finder打开文件来修改/etc/sudoers。不知何故,这会提示您进行管理员身份验证,而不依赖于损坏的文件。 - Sridhar Sarnobat
1
那在OS X El Capitan上不起作用。 - zok
@zok 请看我的更新。 - Gordon Davisson
@GordonDavisson 谢谢!我实际上尝试过这个方法(但没有成功),然后我通过进入单用户模式(按住CMD+S键)并修复所有权和权限来解决了问题。类似于这样:http://www.everythingmacintosh.com/tech-notes/repair-your-hard-disk-in-single-user-mode/ - zok
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接