无意中跑了“chown -R ubuntu:ubuntu /”,怎么修?


2

我不小心在10个服务器的集群上运行了“chown -R ubuntu:ubuntu /”。我已经设法通过最初编辑/etc/rc.local来修复大部分文件系统,在那里放置了很多chown命令,然后重新启动。

此时系统似乎工作正常,但我想确定我已修复所有内容。

为了识别正确的权限,我启动了一个安装了相同软件的新系统,并查找了不属于user的所有文件:root,不归group: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
请不要试试chmod -R a-x /
devnull 2013年

在我看来,你的恢复程序看起来不错。我还要检查系统中哪些文件不在新安装的系统上。这些是您错过的文件,可能需要更改。
Werner Henze

Answers:


3

你在这里几乎没有选择:

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

别的什么都只是浪费你的时间。是的,你可以恢复权限,但相信我 - 这将花费太长时间!重新安装,将来要小心。

有了这样的命令,我总是建议使用完整的路径!

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.