如何从 chmod 0644 -R /* 中恢复

如何从 chmod 0644 -R /* 中恢复

我犯了一个大错误

我在 centos 6.8 服务器上运行此命令:

chmod 0644 -R /* instead of chmod 0644 -R ./*

现在,当我运行此命令时,根目录 / 上的目录列表和所有文件都失败:

chmod 0775 -R /*

我收到此错误:

bash: /bin/chmod: Permission denied

我该如何修复它而不重新安装我的 centos?

答案1

重新安装操作系统是迄今为止最简单、最快捷的修复方法。首先进行映像备份,这样您就可以恢复灾难发生前常规备份中未包含的所有内容。

另一种方法是从 CentOS 安装介质或其他 Linux 实时介质启动,在 上安装 CentOS 系统分区/mnt,然后手动修复每个文件和目录的权限。请注意,全局设置 775 不足以让您的系统再次可用。有些文件和目录必须具有不同的权限设置才能工作。这是一项漫长而乏味的工作,您会希望自己听从了重新安装的建议。

答案2

如果由于不明原因无法重新安装正在运行的系统。

有一种方法可以在另一台机器上安装具有相同软件包的相同操作系统版本,并提取几乎可以恢复的文件系统权限。

sudo find / ! -path '/dev/*' ! -path '/proc/*' ! -path '/sys/*' ! -path '/tmp/*' -printf 'chmod -f %#m ' -print > fix_chmod.sh

相关内容