问题描述
当您不小心执行了chmod -R 777 /命令,导致CentOS云主机根目录以及下边的所有文件权限均被设置成了对所有用户都是可读、可写和可执行的。本文操作介绍如何修复该问题,但为了避免安全风险,建议您在进行完操作后立即备份数据并重装系统。
操作步骤
以下操作在CentOS8.0操作系统中进行了测试验证。
- 不要退出故障云主机,在故障云主机上执行以下命令,修改ssh以及su相关的文件权限。
cd /etc chmod 644 passwd group shadow chmod 400 gshadow cd /etc/ssh chmod 600 moduli ssh_*_key chmod 644 ssh_config ssh_*.pub chmod 640 -R sshd_config ssh_config.d chmod 711 /var/empty/sshd chmod u+s 'which su'
- 执行systemctl status sshd 查看sshd状态,如果为错误状态,请查看错误原因,修改相关文件权限,直到sshd状态正常,然后进入下一步。
- 创建一台权限正常的临时云主机:Linux操作系统,内核版本与故障云主机相同。
- 执行以下命令,将所有文件的权限记录下来。
getfacl -R / >systemp.bak
- 使用scp命令将systemp.bak文件上传到故障云主机中,或者在故障云主机中下载该文件。
- 在故障云主机中进行权限恢复操作。
setfacl --restore=systemp.bak
- 执行reboot命令重启操作系统。绝大多数系统文件的权限已经被恢复,但为了安全,请及时备份数据并重装系统。