MAC下解决sudo: /etc/sudoers is owned by uid 501, should be 0的问题

来源:互联网 发布:西北大学网络教育 编辑:程序博客网 时间:2024/05/22 04:48

今天不慎更改了/etc/sudoers文件,导致终端下执行sudo指令就会出现如下错误


[plain] view plain copy
  1. sudo: /etc/sudoers is owned by uid 501, should be 0  
  2. sudo: no valid sudoers sources found, quitting  

这真是个很恶心的错误,其实就是普通用户编辑了,导致root用户无法调用sudo这个命令,但是又不能直接更改它的权限

后来百度了一下,找到一个解决办法,亲测有效,因此转载分享给大家

首先需要重启系统,在黑屏的时候就长按

[plain] view plain copy
  1. Command + S  
直到出现苹果标志,就可以松开按键,有可能系统会让你输入开机密码,输入密码后进入Root单用户模式

经过一些启动代码滚动后,系统提示你可以输入如下指令进入可写模式

[plain] view plain copy
  1. /sbin/fsck -fy  

输入后会执行一些磁盘检测,过后就可以执行重新获取权限的指令了

依次输入

[plain] view plain copy
  1. mount -uw /  
  2. chown root:wheel /etc/sudoers  
  3. chmod 440 /etc/sudoers  
这样root用户就会重新获取sudoers的权限,一定要按照上面的指令输入,拥有者必须为root:wheel,权限设置必须为440,任何其他操作都会导致sudo指令的不可用

输入完成后就可以重新启动系统了,最后输入

[plain] view plain copy
  1. reboot  
系统会重启,再次进入桌面后调用终端,就会发现sudo指令恢复正常了
阅读全文
0 0