之前做过一个很傻的事情,输入chmod -R 777 / 输入快了,后面没有跟目录直接回车了。所有目录的权限都凌乱了,这里写一份恢复sshd登录的教程以及恢复系统文件的教程。最好恢复sshd之后,把数据拿出来,重新部署应用环境吧,以防以后位置的bug和风险。
从另外一台相同环境系统中,备份根目录所有权限
getfacl -R / >/tmp/a.facl
通过各种方法,传到故障服务器上,我这里上传web服务器,故障服务器从网站上拉取。
Wget http://www.zhangyongzhao.site:8888/pan/tools/temp.bak #已失效
使用console进入系统,wget拉取文件。
下载完成后 reboot
一直按esc 进入GRUB
回车进入编辑模式
Cd 至文件所在目录
setfacl --restore=temp.bak
完成权限的恢复操作。
如果以上操作无法生效,建议手动修改sshd服务权限,将数据备份下来,系统重装。
恢复sshd操作如下:
下列代码除了那个.key和.pub结尾的名称不一样。其他的可以照着刷
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(当前目录下所有key结尾的)
chmod 644 ssh_config ssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub(当前目录下所有pub结尾的)
chmod 640 ssh_config
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
chmod 644 /usr/lib/sudo/sudoers.so
chmod 0440 /etc/sudoers
chmod 0755 /etc/sudoers.d
如果有更好的方法,欢迎各位指导一下。谢谢