获取消息“sudo:必须是setuid root”,但sudo已经由root拥有

我试图运行sudo,而且失败了:

gregd@david $ sudo ls sudo: must be setuid root gregd@david $ which sudo /usr/bin/sudo gregd@david $ ll /usr/bin/sudo -rwxr-xr-x 1 root root 165K 2012-05-16 00:25 /usr/bin/sudo* 

对于如何解决这个问题,有任何的build议吗?

Solutions Collecting From Web of "获取消息“sudo:必须是setuid root”,但sudo已经由root拥有"

当文件/ usr / bin / sudo的权限设置为777时,有时会导致此问题。如果您执行类似chmod -R 777 /usr/ ,则可以执行此操作。 它有效地毁了sudo。 如果这是您的问题,并且接受的答案不起作用,请按以下方法解决:

修理:

重新启动电脑,在启动菜单按shift键。

这应该调出GNU GRUB(即恢复模式)菜单。

  • 如果这不起作用,只需重新启动中间启动,并在下次启动时提示选择恢复模式。

选择以“高级”选项开头的行

选择以“(恢复模式”)结尾的最高版本的操作系统

按回车

在下面的菜单中,进入“Drop to root shell prompt”

键入以下内容:

 mount -o remount,rw / mount --all chown root:root /usr/bin/sudo chmod 4755 /usr/bin/sudo restart 

这应该恢复sudo privellages。

你必须能够以root身份登录,但是如果你能的话,你可以运行这个

 chmod u+s /usr/bin/sudo 

并解决问题