无法运行任何 sudo 命令

无法运行任何 sudo 命令

当我尝试在 sudo 模式下运行任何命令时出现错误。

错误:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

我在 askubuntu 上找到了许多问题并接受了答案。

但这些都不能解决我的问题。可能我的情况和他们不一样。

更多信息

我尝试utorrent按照得票最高的答案进行安装这个问题。将文件
解压到后,我重命名了解压的文件。 从那时起我就遇到了这个错误。.tz/opt

我希望得到一个不建议我重新安装系统的答案。
如果重新安装是唯一的解决方案,我必须备份我安装的所有内容。

答案1

简单的修复,如果你没有搞砸的话pkexec

问题是您/usr/bin/sudo设置了错误的权限(-rwxrwxr-x而不是正确的-rwsr-xr-x)。

现在,由于该文件归 root 所有,因此您需要 root 权限才能更改其权限。通常,您会使用sudo它,但由于它已损坏,我们必须使用pkexec它来修复它:

pkexec chmod u+s,g-x /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

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

答案2

最近遇到了同样的问题,我搞砸sudopkexec

尝试了@Byte Commander♦上述回答,但对我不起作用,因为它没有改变 2 个特定文件的权限,所以我不得不一次更改一个。

第一个文件sudoers位于/etc

  • cd /etc
  • chmod u=rwxs,g=rx,o=rx sudoers

第二个文件README位于/etc/sudoers.d

  • cd /sudoers.d
  • chmod u=rwxs,g=rx,o=rx README

完成这些更改后,请sudo echo "sudo works again! Yay! :D"按照@Byte Commander♦他的回答中的要求尝试,即可成功。

答案3

如果您搞乱了 sudoers 并且无法再以任何用户身份运行 sudo,请执行以下操作:

  1. 运行pkexec chmod 777 /etc/sudoers:它将使文件世界可写,也就是说任何人都可以编辑
  2. 根据需要编辑 sudoers 文件(设置用户/组的权限)
  3. 由于 sudoers 文件已被设为全世界可写,因此它将无法工作(默认的 Linux 安全机制)
  4. 通过以下方式在 sudoers 文件上设置正确的权限:pkexec chmod 0755 /etc/sudoers

如果你搞乱了 pkexec 也请按照@Byte Commander♦ 给出的解决方案操作

答案4

解决 sudo 错误

你应该重新安装“sudo”命令

为此,请按照以下步骤操作:


1-安装“突触包管理器”

您可以从以下网址下载:

https://pkgs.org/download/synaptic

或者

http://archive.ubuntu.com/ubuntu/pool/universe/s/synaptic/synaptic_0.84.3ubuntu1_amd64.deb

或者

在 Ubuntu 中搜索软件更新应用程序“突触包”并安装它

图像:

在此处输入图片描述


2-打开应用程序


3-在页面顶部单击搜索框和文本“ sudo”现在在列表中找到“ sudo”> 然后单击实心方块并在打开的方块上选择“标记为重新安装“>然后点击页面顶部的“应用”并安装

图片:

在此处输入图片描述

在此处输入图片描述


4-打开终端并运行“ sudo”命令

你得到 :

usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
            [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-T timeout] [-u user] file ...

因此: sudo 现在正在运行


相关内容