以下是我遗憾地运行的命令:
sudo chgrp root /usr/bin
sudo chgrp root /usr/local
我最近将一个用户添加到根组,由于我的用户仍然没有写权限,所以我认为我必须将组设置重新应用到这些目录(最初是root
组)。
这导致了sudo
指挥问题,即:
sudo must be setuid root
我已经修复了这个问题。然后 xubuntu 就无法启动了,这个问题我以某种方式修复了。现在 zsh 发出了抱怨:
zsh compinit: insecure directories, run compaudit for list.
我的问题是,我是否彻底毁掉了这个安装?如果没有,有没有办法修复权限?
答案1
要恢复 sudo 可执行文件的权限,您需要启动到恢复模式并从那里进行更改。具体来说:
- 重启电脑
- 选择“Ubuntu 恢复”选项 - 这将为你提供 root shell,而无需 sudo
运行命令:
chmod 755 /usr/bin/sudo
chmod + s /usr/bin/sudo
使用 ls 确认权限现在没问题:
ls -l /usr/bin/sudo
输出应该以以下内容开头:
-rwsr-xr-x 2 根 根
此时,您可以测试 sudo 以查看它是否可以以 root 用户身份运行:
sudo echo "it works"
如果有效,那么您可以重新启动到普通的 ubuntu 会话并使用 sudo 修复其他需要修复的问题。