不小心误操作: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_5937eedc0101h719.html
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。