centos下/var/empty/sshd的目录权限导致ssh远程失败

系统:centos6.6


同事误操作,在开发环境执行了如下操作,导致ssh无法远程登录。

操作命令:chmod -R 777 /var

ssh远程连接不上,报错如下:

ssh_exchange_identification: Connection closed by remote host


解决思路:因为最后操作是/var目录权限不对导致的无法登陆,所以应该查看sshd服务,以及/var目录下哪些目录权限是有要求的,不能随意修改的。

而且/var是系统目录,里面存在着很多隐藏目录,所以各种百度查询资料。



经过一系列排查,所有系统服务都正常,只是无法远程登录,于是查看日志

还好安装有salt远程管理,可以远程操作,如果此处无法远程操作,那就只能进单用户处理了。


tail/var/log/secure

Jul 11 18:01:18 LFTt-AutoTest01 su: pam_unix(su:session): session closed for user worker
Jul 11 18:01:18 LFTt-AutoTest01 su: pam_unix(su:session): session closed for user root
Jul 12 09:54:39 LFTt-AutoTest01 sudo: worker : TTY=pts/3 ; PWD=/home/worker/logs ; USER=root ; COMMAND=/usr/bin/tail -f nginx/error.log
Jul 12 09:55:07 LFTt-AutoTest01 sudo: worker : TTY=pts/3 ; PWD=/home/worker/logs ; USER=root ; COMMAND=/usr/bin/tail -f php/php_errors.log
Jul 12 10:02:57 LFTt-AutoTest01 sudo: worker : TTY=pts/3 ; PWD=/var/lib ; USER=root ; COMMAND=/bin/chmod 777 php
Jul 12 10:03:28 LFTt-AutoTest01 sudo: worker : TTY=pts/3 ; PWD=/home/worker ; USER=root ; COMMAND=/usr/bin/tail -f logs/nginx/error.log
Jul 12 10:04:48 LFTt-AutoTest01 sudo: worker : TTY=pts/3 ; PWD=/home/worker ; USER=root ; COMMAND=/usr/bin/tail -f logs/php/php_errors.log
Jul 12 10:05:44 LFTt-AutoTest01 sudo: worker : TTY=pts/3 ; PWD=/home/worker ; USER=root ; COMMAND=/bin/chmod -R 777 /var/
Jul 12 11:20:07 LFTt-AutoTest01 sudo: worker : TTY=pts/3 ; PWD=/home/worker ; USER=root ; COMMAND=/bin/su -

tail /var/log/messages

Jul 12 10:35:16 LFTt-AutoTest01 sshd[35808]: fatal: /var/empty/sshd must be owned by root and not group or world-writable.
Jul 12 10:35:18 LFTt-AutoTest01 sshd[35809]: fatal: /var/empty/sshd must be owned by root and not group or world-writable.


果然查看其它服务对比后,发现该目录权限需要是 111

果断修改权限

salt '*9.108' cmd.run 'chmod 111/var/empty//var/empty/sshd'

salt '*9.108' cmd.run '/etc/init.d/sshd restart'


重新远程登录,可以正常访问了。没有问题。

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...