Loading
0

Linux系统误执行chmod -R 777 / 后系统崩溃修复方法

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器


前言:在日常运维中,误操作是常事,但部分误操作将是灾难,在博客中看到了一篇误执行了“chmod -R 777 /”命令后的修复方法,本次转载过来,希望对大家有用,同时也是对自己的警示,在操作命令时切记切记要小心。
危害:执行“chmod -R 777 /”命令后整个系统所有文件的权限都被改成777了,当时是没是,只要重启服务器,则无法进入系统。
解决方法:
1、修复SSH(如果ssh没有断开,或者vnc可以登录的话)
误操作之后,系统已经登陆不进去,这个时候需要联系服务器提供商挂pe盘进去检查问题,挂盘后,可执行以下操作来修复ssh以及系统登陆的问题
先挂盘,然后chroot一下,或者进入对应的目录

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的修复中

修复完毕后卸载重启即可使用ssh以及管理终端进行登陆
2、恢复误操作前的系统权限
需要先找一台没问题的,内核版本差异不大的机器,获取该机器的权限(业务不一样的话,对应的业务适用的文件权限不会覆盖,需要手动去设置)
执行如下命令将系统权限导出

getfacl -R / > ./linux.chmod.bak

此时,系统所有的权限记录都在 linux.chmod.bak 文件中,将“linux.chmod.bak”文件拷贝到有异常的服务器。
执行如下命令

cd /
setfacl --restore=/root/linux.chmod.bak

然后重启机器即可替换成原来的权限
注意:该方法仅是恢复了系统默认目录的权限,不会恢复您部署的业务的文件或文件夹的权限,届时需要根据自己的情况手动调整。
 
技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-3-36207-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:sshd: no hostkeys available -- exiting.Ubuntu启动sshd报错解决方法
下一篇:(CentOS)Linux系统使用VsFtpd3手动搭建FTP详细方法