我错误地在我的 ubuntu 服务器 12.04 上运行了这个命令:
chown someuser / -R
在 RHEL 上可以通过以下命令修复:
rpm --setugids -a
有什么办法可以在 ubuntu 服务器上修复它吗?
答案1
如果您有另一个类似的服务器,您可以尝试:
ssh healthlyServer "find / -printf 'chown %u:%g %p \n'"|/bin/bash
理想情况下..从全新机器上的备份中恢复。
如果你要运行它..检查10倍的输出
ssh healthlyServer "find / -printf 'chown %u:%g %p \n'"
在你将其传递给 bash 之前
答案2
如果您在安装后在机器上安装了软件,那么您不太可能恢复(备份除外)。某些软件在安装过程中会创建新用户。如果该新用户用于为新程序设置文件和目录的所有权。如果操作系统不“了解”这些新程序,则它无法将所有权恢复为正确的 uid/gid。当您发出“chown someuser / -R”时 - 您更改了系统上的所有文件。根据您是否从其他服务器安装了文件系统并且权限设置对您不利...您可能还在其他服务器上将所有权更改为“someuser”。此外,尝试从另一个机器复制所有权可能不可取....用户“joe”在服务器 A 上的 UID 可能是 554,而“joe”在服务器 B 上的 UID 可能是 789。您必须确保服务器之间的 UID 不会混淆...UID 554 可能是服务器 B 上的某个 ftp 用户...因此,从 A 复制到 B 可能会产生不良结果。