前言
最近想给我同学弄个二级域名做他的博客,那我就得给他分配个他那个网站目录的管理权限啊,在网上找到个命令,也就是标题的那个…那个文章本来并不是/,后面有地址的,可是由于各种玄学的原因,敲完/我直接回车了,在等待了几秒后…linux给我刷了一大堆莫名其妙的东西,我去Winscp里一看,所有文件的权限都是 rwxrwxrwxr 了,或许我还没意识到这就是问题的所在。。我,无法使用ssh登录了!
解决过程
当时我已经手贱关掉了putty,幸好还有个winscp可以改权限,我把etc目录下的所有文件先是改为rwxr-wx-x,还是无法登录,无奈去查看日志,发现如下报错:
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: Permissions 0777 for '/etc/ssh/ssh_host_rsa_key' are too open.
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: It is required that your private key files are NOT accessible by others.
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: This private key will be ignored.
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: bad permissions: ignore key: /etc/ssh/ssh_host_rsa_key
Jun 5 15:41:20 iz2ze0tpfwhkw3s31h1cdqz sshd[25468]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
这是说我把/etc/ssh/ssh_host_rsa_key路径给的权限太高了嘛,我懂,然后我去该路径把其设为仅root用户可修改,再尝试登录,成了。
但是
可是登录速度特别慢,再次去日志里查看,发生如下报错
Jun 5 16:31:27 iz2ze0tpfwhkw3s31h1cdqz systemd: Started Session 7243 of user root.
Jun 5 16:31:27 iz2ze0tpfwhkw3s31h1cdqz systemd: Starting Session 7243 of user root.
Jun 5 16:31:27 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: New session 7243 of user root.
Jun 5 16:31:27 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Failed to save session data /run/systemd/sessions/7243: File exists
Jun 5 16:31:27 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Failed to save user data /run/systemd/users/0: File exists
Jun 5 16:31:27 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Failed to save session data /run/systemd/sessions/7243: File exists
Jun 5 16:31:27 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Failed to save user data /run/systemd/users/0: File exists
Jun 5 16:33:40 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Failed to save session data /run/systemd/sessions/7243: File exists
Jun 5 16:33:40 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Failed to save user data /run/systemd/users/0: File exists
Jun 5 16:33:40 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Removed session 7243.
Jun 5 16:33:40 iz2ze0tpfwhkw3s31h1cdqz systemd-logind: Failed to save user data /run/systemd/users/0: File exists
这个错误弄了好半天,还是没弄明白,没办法,启动终极解决方案:从新的linux中导入权限配置!
从一个未注册过阿里云的同学手中注册了个10元一个月的服务器,远程登录后使用该命令,导出权限配置。
getfacl -R / >systemp.bak
然后去我的服务器的根目录使用该命令导入配置,完活!
setfacl --restore=systemp.bak
当然,必须分享一下systemp.bak文件,我是centos7.3系统 systemp.bak下载点我
总结
1.看log真的非常有用,以前配置php,mysql的时候都是从log中找到问题并得以解决的!
2.别手贱,别手贱,别手贱!
3.遇到好东西就分享一下哈,像systemp.bak这种东西百度居然没人分享,还有人需要金币之类的,我真是…
4.定期备份重要文件!幸亏我这次还留着Winscp,不然连第一步都做不成,或许就只能重置系统了吧。