我意外地通过命令
将根文件夹(/)和所有子文件夹的所有者设置为一个用户$ sudo chown -R 'userName' /*
现在我想通过命令
将所有者设置回root用户$ chown -R root:root /*
但是我没有这个操作的许可。 如果我使用命令
$ sudo chown -R root:root /*
它返回
sudo: effective uid is not 0, is sudo installed setuid root?
我该怎么做才能解决这个问题?
答案 0 :(得分:3)
我猜你在运行第一个命令的时候也最终修改了/usr/bin/sudo
可执行文件的所有权。
说有效UID不是0 (因为root的EUID等于0)。
因此,请尝试更改/usr/bin/sudo
的所有者,然后尝试更改其他文件的所有权。
答案 1 :(得分:2)
:哦,我表示哀悼!
问题是sudo二进制文件本身必须由root拥有。如果你有root密码,你可以直接修复问题:
su
如果没有,您可以使用救援系统启动,安装分区和
chown root:root /mnt/usr/bin/sudo
或使用救援系统解决整个问题。
但是很难解决所有的所有权问题。我建议制作一个脚本,从您系统的vanilla安装中读取文件所有权(安装了与您相同的包)并将它们应用于崩溃的系统。 (/ home /中的自定义文件......你必须自己chown
)如果没有这样的脚本,它将变得非常困难,但它应该很容易编码
答案 2 :(得分:2)
你的系统非常糟糕。下次使用sudo
时要更加小心。
根据您使用chown
更改了多少,您必须在步骤3中修复很多。您可能想要查看正确安装的工作相同的系统,以找出哪些用户应该是/dev/mem
等所有者的所有者。
重新安装操作系统可能会更快。