Redhat
無法以除 root 以外的任何使用者身份登錄到 RHEL6 伺服器 - 說找不到主目錄並且 shell 權限被拒絕
正如上面的問題所述,我有一個專為 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/bash
為user1:x:513:517::/home/user1:/bin/bash
.