Redhat

無法以除 root 以外的任何使用者身份登錄到 RHEL6 伺服器 - 說找不到主目錄並且 shell 權限被拒絕

  • September 13, 2018

正如上面的問題所述,我有一個專為 SSH 訪問而設計的 RHEL 6 伺服器,root 無法通過 SSH 登錄。當我在本地伺服器上時,我可以以 root 身份登錄,但只能以 root 身份登錄。如果我嘗試以使用者身份登錄,螢幕會快速閃爍一條消息:

Last Login: Mon Aug 24 08:24:52 on tty1
no directory: /home/user1!
logging in with home="/"
login: no shell: Permission denied

我得到了 no shell,因為/.

現在真正讓我感到困惑的是,主目錄確實存在,並且包含一個有效的 shell,並且根據我所知道的 ( 755) 獲得了許可。這對於存在並已在此伺服器實例上創建的所有使用者都是常見的。如果我在創建使用者時定義主目錄的路徑或讓預設值負責並自動分配它,這似乎無關緊要。

我在安全日誌或消息日誌中沒有發現任何奇怪的東西,只是使用者成功登錄(他們有,但沒有外殼就不能做任何事情)

我希望此時不需要重新安裝,但如果這是唯一的選擇,伺服器上幾乎沒有數據會失去。

任何幫助將不勝感激,因為我已經搜尋並嘗試了一周,但沒有運氣。

編輯:

我使用該useradd user1命令最初添加使用者,當這導致我使用的上述問題時

mkdir /home/user1 && useradd user1 -d /home/user1 && chown -R user:user1 /home/user

當我執行cat /etc/passwd | grep user1命令時,我得到:

user1:x:513:517::/home/user1:bin/bash

當我執行ls -l /home命令時,該使用者的條目是:

drwxr-xr-x. 4 user1 user1 4096 Aug 19 17:03 user1

我能夠通過執行命令來解決問題

for p in $(rpm -qa); do rpm --setperms $p; done

並重新啟動伺服器。一旦重新啟動,我不僅能夠以任何已創建的使用者身份登錄,我還能夠再次使用 GUI。這指向系統上某處損壞的文件權限。我不知道他們是如何腐敗的,但現在一切正常。

我在您的設置中看到的唯一問題是在您的 passwd 文件中。嘗試更改 user1:x:513:517::/home/user1:bin/bashuser1:x:513:517::/home/user1:/bin/bash.

引用自:https://serverfault.com/questions/716307