我正在尝试运行 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*
对于如何解决这个问题,有任何的建议吗?
有时,当文件 /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 特权。
您必须能够以 root 身份登录,但如果可以,您可以运行它
chmod u+s /usr/bin/sudo
并解决问题