无意之间,使用sudo chmod -R 777 /usr命令修改了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模式。首先重启ubuntu(记住,是重启,而不是关机后启动),重启时,一直按住Esc就能进入recovery模式。

sudo权限打开文件 sudo文件夹权限_修改文件

按照上图按enter键后,就能成功的进入root用户系统,在该系统中执行

chown root:root /usr/bin/sudo

chmod 4755 /usr/bin/sudo

重新启动(不是关机后再打开,而是在ubuntu界面上点击虚拟机的电源上的重新启动客户机选项),此时问题解决。