之前无意之间修改了/usr的权限,导致sudo:must be setuid root问题的出现,即sudo命令无法使用。网上介绍的方法差不多都相同,就是通过下面两条命令:
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
但是实际上在出现问题的当前用户系统中上述两条命令是无法起到想要的目的的,应用上述两条命令必需在root用户下执行才有效。那么,怎样进入root用户呢,网上介绍的使用sudo passwd root 的方法肯定是行不通的,因为此时sudo命令已经发生错误了,只能使用另外的方法登录root客户端,这里使用ubuntu 的recovery模式。
首先,进入recovery模式。
按照上图按enter键后,在出现的界面中选择root有关的那一列(记住:是root,不是newroot),enter后进入root用户系统;
此时,已经成功的进入root用户系统,在该系统中执行
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
关机重启
如果这时候使用sudo,导致sudo: /etc/sudoers is mode 0777, should be 0440 sudo: 问题,需要重新进入recovery模式,重新修改/etc/sudoers的权限。
chmod 0440 /etc/sudoers
chmod 0440 /etc/sudoers.d/README
重启,问题解决
如有问题,email:ankwyq@163.com联系
扩展阅读:http://hi.baidu.com/jundao1997/item/f468425f540a0010aaf6d7f0