千家信息网

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

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,不小心误操作:chmod -R 777 !!!!!完了?修改了Linux系统的所有文件权限,仅供参考!linux系统无操作执行:chmod -R 777 之后 修复方法:1)执行完后千万不要退出当前登
千家信息网最后更新 2024年11月27日linux系统误操作执行:chmod -R 777 / 之后 修复方法

不小心误操作: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

0