更改根文件夹和子文件夹的所有者(Ubuntu 13.04)

Mik*_*eev 6 unix linux ubuntu sudo chown

我不小心通过命令将根文件夹(/)和所有子文件夹的所有者设置为一个用户

$ sudo chown -R 'userName' /*
Run Code Online (Sandbox Code Playgroud)

现在我想通过命令将所有者设置回root用户

$ chown -R root:root /*
Run Code Online (Sandbox Code Playgroud)

但我没有这项行动的许可.如果我使用命令

$ sudo chown -R root:root /*
Run Code Online (Sandbox Code Playgroud)

它返回

 sudo: effective uid is not 0, is sudo installed setuid root?
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决这个问题?

hek*_*mgl 2

: 谨此表示哀悼!

问题是 sudo 二进制文件本身必须由 root 拥有。如果您有 root 密码,则只需获取 root 即可解决问题:

su
Run Code Online (Sandbox Code Playgroud)

如果没有,您可以使用救援系统启动,安装分区并

chown root:root /mnt/usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)

或者使用救援系统解决整个问题。

但要修复所有这些所有权是很困难的。我建议制作一个脚本,从系统的普通安装中读取文件所有权(已安装与您相同的软件包)并将其应用到崩溃的系统。(/home/...中的自定义文件,您必须chown自己)如果没有这样的脚本,它会变得非常困难,但应该很容易编写代码