无法运行任何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 

然后正常重启并测试您的命令。