当前位置: 首页>>技术问答>>正文


/usr/bin/sudo必须由uid 0拥有并设置setuid位

, , ,

问题描述

我意外地执行了以下命令

sudo chown [username] -hR /

现在sudo su收到错误:

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

如何解决这个问题?

最佳解决方案

备份数据并重新安装。

这可能看起来很极端,但这不仅仅是sudo。您销毁了整个文件系统的权限结构。其他一些答案可以让sudo工作,但忽略整个问题是邀请以后的灾难。

您可以尝试将所有者镜像到另一个安装,但有些情况(例如/var/)高度依赖于您实际安装的内容。如果你想得到问题的规模,I’ve actually had a crack at helping somebody fix this sort of issue before。修复是手动的,长的,很容易让您的系统不安全或损坏。

挑选这个烂摊子要比干净安装花费更长的时间。


这有一些drive-bys来自那些不了解情况严重性的人。对他们来说,这看起来像是一堆不必要的工作,一个流氓管道工或机械师说要为了更大的工作而动摇你。

如果你只是更改了/usr/bin/sudo的权限,那么只需修复它。但这个问题是关于整个系统的变化。每个文件(保存runtime-only文件)现在都归用户所有。用户运行的所有内容(例如浏览器,浏览器漏洞)都可以覆盖系统文件,监视您,提取任何数据。这需要纠正。按上述方法,这很难。最简单的方法是重新安装。

所以,请不要对此懒惰。文件系统权限有助于保护您的安全,修复它们。

次佳解决方案

正如您将在this answer on SO上看到的那样,这个问题并不像人们所做的那么难。我按照以下简单步骤重新启动了sudo命令而无需重新安装:

  1. 以当前用户身份注销,然后以root用户身份重新登录。

  2. 执行chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo

  3. 以root身份注销,然后以当前用户身份重新登录。

这样做可以比其他答案中推荐的”nuclear option”更快,更轻松。

如果未设置root密码,则可以在Recovery Mode中启动以进行设置。

第三种解决方案

  1. 通过在启动系统时按Esc进入恢复模式。

  2. 在进入恢复模式后可以看到长列表中的root选项(它实际上是root shell)

  3. type命令 – mount -o remount /(或者在恢复中你可以点击grub选项。这有助于我在文件系统上获得read-write权限。这基本上更新了文件系统上的读/写模式,因为命令最初对我不起作用)将以读写模式重新安装文件系统。

  4. 命令 – chown -R root:root /usr此命令将以递归方式将所有权从”user”更改为root

  5. 现在我仍然遇到sudo命令的问题,所以我再次按照步骤1,2,3执行了chmod 4755 usr/bin/sudo

现在我真的认为re-installing真的是”nuclear option”

第四种方案

不幸的是,如果你没有完整的备份,那么你现在可以做的最好的事情就是重新安装。

考虑到您已将所有文件所有权更改为同一用户,完全搞乱了系统的安全范例….

如果您搜索此站点,则chmod存在许多类似问题,例如How can I recover from chmod -R a-wrx / command?

第五种方案

我的数字海洋上的液滴也有同样的问题。

sudo: /usr/bin/sudo必须由uid 0拥有,并且必须设置setuid位。以下是我执行并重启后的命令。

chown -R root:root /usr/bin/sudo
chmod -R a=rx,u+ws /usr/bin/sudo
chown -R root:root /usr/lib/sudo/sudoer.so
chmod -R a=rx,u+ws /usr/lib/sudo/sudoer.so

希望能帮助到你。

第六种方案

以上方法对我不起作用,因为我无法“以root身份登录”(未知密码)但是我通过编辑得到了一个root shell

vi /etc/lightdm/lightdm.conf

autologin-user=root
greeter-show-manual-login=true

重启后我终于能够运行了

chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1508.html,未经允许,请勿转载。