Gre*_*rty 15 linux sudo setuid
我正在尝试运行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*
Run Code Online (Sandbox Code Playgroud)
对于如何解决这个问题,有任何的建议吗?
小智 59
当文件/ 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
Run Code Online (Sandbox Code Playgroud)
这应该恢复sudo privellages.
您必须能够以root用户身份登录,但如果可以,则可以运行此命令
chmod u+s /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)
并解决问题