我正在尝试运行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*
有关如何解决此问题的任何建议吗?
答案 0 :(得分:55)
当文件/ usr / bin / sudo的权限设置为777时,有时会导致此问题。如果执行chmod -R 777 /usr/
之类的操作,则可以执行此操作。它有效地破坏了sudo。如果这是您的问题,这是解决方案,并且接受的答案不起作用:
修复:
重新启动电脑,在启动菜单按shift。
这应该调出GNU GRUB(即恢复模式)菜单。
选择以高级选项
开头的行选择以(“恢复模式”)
结尾的操作系统的最顶层版本按Enter键
在下面的菜单中,转到“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。
答案 1 :(得分:7)
您必须能够以root用户身份登录,但如果可以,则可以运行此
chmod u+s /usr/bin/sudo
并解决问题