Ubuntu系统:sudo出现sudo:must be setuid root问题的解决方法
上午不小心使用chmod 修改权限的时候把/usr/的权限给修改了(事后才知道),之后使用Sudo的时候一直出现sudo: must be setuid root这个提示,直接给郁闷的不轻,网上搜了下。
造成问题的原因:
使用sudo chmod -R 777 /usr命令修改了usr文件的所有者。(这是出现这个悲催问题的根本原因,以后用chmod 777的时候要小心)
网上大多数的解决方法:
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
可是使用两个命令根本就不行,执行这两条命令的之后直接报错,不能执行操作。
实际上在出现问题的当前用户系统中上述两条命令是无法起到想要的目的的,应用上述两条命令必需在root用户下执行才有效。
因此,进入root用户是关键,如果系统开启了Root用户,可直接切换到root用户下执行上面两条命令,之后重启系统即可。
或者可使用Ubuntu 的recovery模式。
首先,进入recovery模式(启动时按ESC键,进入启动选项菜单,选择recovery模式启动)
在出现的界面中选择root有关的那一列(记住:是root,不是newroot),enter后进入root用户系统;
此时,已经成功的进入root用户系统,在该系统中执行
chown root:root /usr/bin/sudo
chmod 4755 usr/bin/sudo
关机重启,此时问题解决。