root 登錄靜默失敗
在幾個月沒有碰它之後,我想登錄到我們的一個虛擬伺服器來更新 OpenSSL,因為心血來潮。該伺服器正在執行 Debian 7,
sudo
未安裝。我嘗試了三種方法:
ssh root@server
,密碼被接受,然後:Could not chdir to home directory /home/root: No such file or directory Connection to server closed.
- 以其他使用者身份登錄,然後
su - root
.No directory, logging in with HOME=/
然後我回到我通常的 shell,沒有以 root 身份登錄。 3. 以其他使用者身份登錄,然後
su root
. 這什麼也沒做,我只是回到了通常的提示,仍然以其他使用者而不是 root 身份登錄。我沒有機會在星期一之前手動重新啟動伺服器。我可以嘗試做些什麼來獲得 root shell 嗎?伺服器可能會受到威脅,我該如何檢查(沒有 root 訪問權限)?謝謝!
在所有情況下,當輸入錯誤的密碼時,機器都會像往常一樣抱怨。
/root
確實存在並/etc/passwd
列出了正確的目錄。我不知道為什麼 ssh 相信不同。這可能很重要:
$?
在不成功的su
呼叫之後檢查會給我一個1
,這是System or authentication failure
根據 su 的手冊頁。我怎樣才能使它更詳細?根據以下要求,輸出
ssh -v
:Last login: Fri Apr 11 17:47:46 2014 from some_client Could not chdir to home directory /home/root: No such file or directory debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug1: channel 0: free: client-session, nchannels 1 Connection to server closed. Transferred: sent 3136, received 2448 bytes, in 0.0 seconds Bytes per second: sent 299688.7, received 233940.7 debug1: Exit status 1
以下所有內容均來自 這裡。
該錯誤消息暗示缺少根的主目錄。您可以使用 重新創建它
mkdir /root
,但它會是空的。通常,您不應直接以 root 身份登錄。對於遠端登錄和 X 會話,應禁用所有直接 root 訪問,儘管當出現問題時允許從文本模式終端進行 root 訪問可能是救命稻草。您應該始終以真實使用者身份登錄,然後使用
su
orsu -
(當然還有 root 密碼)更改為 root 使用者。但是,在您的情況下, su 無效,因為您仍然沒有
/root
目錄。創建 /root 目錄後,您仍然會失去一些預設文件。
您需要的文件是預設文件
.bash_profile
,.bashrc
應將這些文件複製到/root
. 前導.
表示文件是隱藏的,因此您可能需要ls -a
查看它們。編輯
實際問題是,對於 root 使用者,shell 設置為
/bin/false
. 這可以通過發出命令來驗證,
getent passwd root
在這種情況下,上述命令的輸出結果是,
root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false
如果您有
sudo
使用者,則可以更改,或者您應該以single
模式啟動機器並編輯上述設置。