前言:在日常运维中,误操作是常事,但部分误操作将是灾难,在博客中看到了一篇误执行了“chmod -R 777 /”命令后的修复方法,本次转载过来,希望对大家有用,同时也是对自己的警示,在操作命令时切记切记要小心。
危害:执行“chmod -R 777 /”命令后整个系统所有文件的权限都被改成777了,当时是没是,只要重启服务器,则无法进入系统。
解决方法:
1、修复SSH(如果ssh没有断开,或者vnc可以登录的话)
误操作之后,系统已经登陆不进去,这个时候需要联系服务器提供商挂pe盘进去检查问题,挂盘后,可执行以下操作来修复ssh以及系统登陆的问题
先挂盘,然后chroot一下,或者进入对应的目录
修复完毕后卸载重启即可使用ssh以及管理终端进行登陆cd /etc
chmod 644 passwd group shadow
chmod 400 gshadow
cd ssh
chmod 600 moduli ssh_host_dsa_key ssh_host_key ssh_host_rsa_key
chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub
chmod 640 sshd_config
chmod 600 /etc/sscuretty
chmod 711 /var/empty/sshd
chmod u+s `which su`(这一步一般不用执行,可用在ubuntu的修复中)
2、恢复误操作前的系统权限
需要先找一台没问题的,内核版本差异不大的机器,获取该机器的权限(业务不一样的话,对应的业务适用的文件权限不会覆盖,需要手动去设置)
执行如下命令将系统权限导出
此时,系统所有的权限记录都在 linux.chmod.bak 文件中,将“linux.chmod.bak”文件拷贝到有异常的服务器。getfacl -R / > ./linux.chmod.bak
执行如下命令
然后重启机器即可替换成原来的权限cd /
setfacl --restore=/root/linux.chmod.bak
注意:该方法仅是恢复了系统默认目录的权限,不会恢复您部署的业务的文件或文件夹的权限,届时需要根据自己的情况手动调整。
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
文章评论 本文章有个评论