编程知识 cdmana.com

Linux误操作777之后的恢复

第一阶段,修复SSH(如果ssh没有断开,或者vnc可以登录的话无需挂载直接修复权限即可)

误操作之后,系统已经登陆不进去,这个时候需要挂盘进去检查问题,挂盘后,可执行以下操作来修复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的修复中)

     
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

修复完毕后卸载重启即可使用ssh以及管理终端进行登陆

第二阶段,恢复误操作前的系统权限

需要先找一台没问题的,内核版本差异不大的机器,获取该机器的权限(业务不一样的话,对应的业务适用的文件权限不会覆盖,需要手动去设置)

执行

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

     
  • 1.

得到正确的权限,copy到有问题的系统里面

执行

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

     
  • 1.
  • 2.

然后重启机器即可替换成原来的权限

目前仅在centos 6.5下进行了测试,验证通过。

 原文链接

版权声明
本文为[Leoheng08]所创,转载请带上原文链接,感谢
https://blog.51cto.com/leoheng/3327680

Scroll to Top