无法运行任何sudo命令
尝试在sudo模式下运行任何命令时出错。
错误:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
我在askubuntu上找到了一些问题和接受的答案。
但这些都没有解决我的问题 。 可能我的情况与他们不同。
更多信息 :
我尝试按照这个问题的最高投票回答安装utorrent
。
将.tz
文件.tz
压缩到/opt
我重命名了解压缩的文件。
从那时起,我面临着这个错误。
我希望答案不建议我重新安装系统。
如果重新安装是唯一的解决方案,我将必须备份我曾安装的所有内容。
简单的修复,如果你还没有弄乱pkexec
:
问题是你的/usr/bin/sudo
设置了错误的权限( -rwxrwxr-x
而不是正确的-rwsr-xr-x
)。
现在,由于该文件由root拥有,因此您需要root权限才能更改其权限。 通常,你会使用sudo
,但由于它已经坏了,我们必须使用pkexec
作为替换来修复它:
pkexec chmod u+s,gx /usr/bin/sudo
现在一切都应该再次修复。 尝试使用以下命令检查:
sudo echo "sudo works again! Yay! :D"
更复杂的修复,如果你也搞砸了pkexec
:
首先,您需要以恢复模式启动Ubuntu系统。
您可以通过重新启动并等待GRUB菜单显示来完成此操作。 这在BIOS完成其工作之后和Ubuntu开始加载之前立即发生。 如果你用另一个操作系统双启动它通常会显示,但如果没有,你必须按住Shift键让它出现。 选择菜单指向Advanced options
,然后选择带有后缀的最新内核版本(recovery mode)
。 您将看到另一个菜单,您必须在其中选择root
,它会显示具有root访问权限的终端。
有关如何在恢复模式下输入root shell的更多信息,请参见此处 ,请按照步骤1-7进行操作,然后在此处继续。
在root shell中运行以下命令:
mount -o remount,rw / chmod u=rwxs,g=rx,o=rx /usr/bin/sudo /usr/bin/pkexec exit
然后正常重启并测试您的命令。