2012-11-02 30 views
5

我有一个苹果10.8.2山狮,当我尝试使用sudo命令我得到这个:我的sudo命令不工作

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

我已搜查谷歌遍,并试图一对夫妇的事情,但一件事有点固定我的信号烫手问题0440是0640或什么,但我得到了这个。任何帮助将不胜感激

回答

7

解决此问题的最简单方法是与磁盘工具的修复磁盘权限功能。运行磁盘工具,在边栏中选择启动卷,选择第一个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. 根据提示输入您的管理员密码。
+0

我可以确认磁盘工具(以及将来使用visudo)是正确的答案,以防其他人需要这些信息。 –

+0

我可以确认它不适用于我:(但基本上,您可以通过Finder打开文件来修改'/ etc/sudoers'。不知何故,这会提示您进行管理身份验证而不依赖于损坏的文件。 –

+1

使用OS X El Capitan – zok