如何在“chmod -R 777 /usr/bin”之后修复sudo?

Man*_*mar 15 permissions root sudo chmod

我进入了chmod -R 777 /usr/bin,现在 sudo 不起作用。

它说sudo must be setuid root

网上有的咨询说要跑chown root:root /usr/bin/sudo chmod 4755 /usr/bin/sudo

输入chown root:root /usr/bin/sudo时显示opened in readonly mode错误。

Eli*_*gan 11

尽管已接受状态,但我现在确信这个答案是错误的。(我希望在与 OP 协商接受后尽快改进它。)我想我记得其他人说这有效,但我相信他们的问题至少略有不同。此处描述的方法对于chmod -R 777 /usr/binCtrl+中断C或以其他方式未完成的某些情况仍然有价值。但是一旦这样做了,pkexec它也会被取消设置,并且不会比 更好地工作sudo,正如 Damien Roche 和 Oli 正确评论的那样。

在 Ubuntu 桌面系统上,安装了PolicyKit,因此pkexec可用于修复损坏的sudo可执行文件或sudoers文件。您不需要启动到恢复模式,也不需要从 Live CD 启动。您甚至不需要重新启动。

在这种情况下,请运行以下命令:

pkexec chown root:root /usr/bin/sudo
pkexec chmod 4755 /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅此问题

  • `pkexec 必须是 setuid root`!什么样的恶梦! (9认同)