我不小心运行了以下命令
sudo chown [username] -hR /
Run Code Online (Sandbox Code Playgroud)
现在sudo su得到错误:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
use*_*962 188
正如您将在 SO上的这个答案中读到的那样,这个问题并不像人们提出的那么难。您可以按照以下简单步骤重新sudo运行命令,而无需重新安装:
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo这可以解决问题,并且比其他答案中推荐的“核选项”要快得多,痛苦也少得多。
如果您的 root 密码未设置,您可以在恢复模式下启动以进行设置。
请注意,这将解决名义错误,/usr/bin/sudo must be owned by uid 0 and have the setuid bit set但如果像 OP 一样,您所做的不仅仅是弄乱了/usr/bin/sudo文件的权限,那么实际上更“核”的选项可能更有意义。
Oli*_*Oli 45
备份您的数据并重新安装。
这可能看起来很极端,但这不仅仅是sudo. 你破坏了整个文件系统的权限结构。其他一些答案可以sudo奏效,但忽略整个问题会招致后来的灾难。
您可以尝试将所有者从另一个安装中镜像出来,但有些情况(/var/例如)高度依赖于您实际安装的内容。如果您想了解问题的规模,实际上我以前曾帮助某人解决此类问题。修复是手动的,时间长,很容易使您的系统不安全或损坏。
解决这个烂摊子比全新安装需要更长的时间。
这已经有一些人不了解这里情况的严重性。对他们来说,这看起来像是一大堆不必要的工作,流氓水管工或机械师为了一份更大的工作而为了让你失望而说的那种事情。
如果您只更改了 的权限/usr/bin/sudo,请务必修复它。但这个问题是关于整个系统的变化。每个文件(除了运行时的文件)现在都归用户所有。用户运行的所有内容(例如浏览器、浏览器漏洞利用)都可能会覆盖系统文件、监视您、提取任何数据。这需要纠正。如上所述,这很困难。最简单的方法是重新安装。
所以请不要在这方面偷懒。文件系统权限有助于确保您的安全,修复它们。
小智 20
Esc在启动系统时按住 进入恢复模式。
在进入恢复模式后可以看到的长列表中选择root选项(它实际上是root shell)
键入命令 - mount -o remount /(或者在恢复中,您可以单击 grub 选项。这帮助我获得了文件系统的读写权限。这基本上更新了文件系统上的读/写模式,因为该命令最初对我不起作用)
它将以读写模式重新挂载您的文件系统。
命令 -chown -R root:root /usr
此命令将再次递归地将所有权从“用户”更改为 root
现在我仍然遇到sudo命令问题,所以我再次按照步骤 1、2、3 执行chmod 4755 /usr/bin/sudo
现在我真的认为重新安装真的是一个“核选项”
小智 8
我在数字海洋上的液滴也有同样的问题。
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
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
412727 次 |
| 最近记录: |