linux系统误操作执行:chmod -R 777之后 修复方法

    xiaoxiao2021-12-14  24

    不小心误操作:chmod -R 777 !!!!!完了?修改了linux系统的所有文件权限,仅供参考!

    linux系统无操作执行:chmod -R 777 之后 修复方法:

    1)执行完后千万不要退出当前登录窗口!

     ssh登录不上,应该跟passwd、group、shadow、ssh这几个文件扯上关系而已,开了另一台linux查看权限,并在错误的机器上修改成对应的权限

         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      

          service sshd restart 重启sshd服务

          测试重新连接ssh看是否可以连接成功 ,直到连接成功为止

    2)

         找一台linux系统(尽量越干净越好),把系统的权限导出,然后再导入到本机。      在好的机器上执行

         cd  /         getfacl -R / > linux.chmod.txt      然后通过ftp或者rz命令上传到要修复的机子上      执行:

         cd /      setfacl --restore=linux.chmod.txt

         

                           直接查看:权限是否正常!不正常再次执行一次,再次检查是否正常!      如果不在 / 目录下执行,结果不生效,估计需要reboot吧! 所有建议在根 / 目录下执行导出和导入操作

         如果不正常,可以再次尝试reboot,reboot前先做以下处理:

                             mkdir -p /root/sh

            cd /root/sh/      vi sshtmp.sh      #----------start----------      sleep 300      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 u+s `which su`

           chmod 755 `which passwd`

          chmod u+s `which passwd`

                             service sshd restart       #-----------------end----------      放到开机启动      echo '/root/sh/sshtmp.sh &'  >>/etc/rc.local      然后reboot 吧。      重启后如果能正常登录系统,可以先把sshtmp.sh 的进程kill掉,并去掉/etc/rc.local里面脚本。然后查看权限有没有正常。

    本文参考资料:http://blog.sina.com.cn/s/blog_5937eedc0101h619.html

    转载请注明原文地址: https://ju.6miu.com/read-962628.html

    最新回复(0)