1. 程式人生 > >centos下/var/empty/sshd的目錄許可權導致ssh遠端失敗

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'

重新遠端登入,可以正常訪問了。沒有問題。