不小心运行了“chown -R ubuntu:ubuntu /”,如何修复?

不小心运行了“chown -R ubuntu:ubuntu /”,如何修复?

我无意中在 10 台服务器集群上运行了“chown -R ubuntu:ubuntu /”。我通过最初编辑 /etc/rc.local、在其中放置大量 chown 命令并重新启动,成功修复了大部分文件系统。

目前,系统似乎运行正常,但我想确保我已经修复了所有问题。

为了确定正确的权限,我启动了一个安装了相同软件的新系统,并查找了所有不属于用户:root、不属于组:root 的文件,以及所有 SUID 和 GUID 位。

具体来说,我运行了以下命令:

  1. while read line; do user=$(echo $line |cut -d ":" -f 1); if [ $user != "root" ]; then echo ------${user}------; find / -user $user 2> /dev/null; fi; done < /etc/passwd

  2. while read line; do user=$(echo $line |cut -d ":" -f 1); if [ $user != "root" ]; then echo ------${user}------; find / -group $user 2> /dev/null; fi; done < /etc/group

  3. find / -perm -1000
    find / -perm -2000
    find / -perm -3000
    find / -perm -4000
    find / -perm -5000
    find / -perm -6000
    find / -perm -7000

然后手动对受影响的系统进行这些更改。

我的问题是,我是否遗漏了什么?这些系统现在是否和新安装的系统一样好?

这是 Ubuntu 12.04.2 LTS。

谢谢。

答案1

您在这里有几个选择:

  1. 从备份恢复。
  2. 如果没有备份,则将所需的文件放入安全位置(USB/网络存储)并重新安装。

任何其他做法都只是浪费时间。是的,您可以恢复权限,但相信我 - 这会花费太长时间!重新安装,以后要小心。

对于这样的命令我总是建议使用完整路径!

您可能遇到 ssh、mta 等方面的问题。某些日志文件可能无法正常工作。有些命令需要特殊权限。实在是太多了,无法确定!

相关内容