Login
如何檢查外殼是否未設置為 /sbin/nologin 或 /bin/false
嘗試遵循此解決方案:https ://serverfault.com/a/384811
但無法執行這些最後步驟:“另外,請檢查 shell 是否未設置為 /sbin/nologin 或 /bin/false,這也會阻止登錄,即使身份驗證成功。”
我正在使用 lubuntu 恢復外殼。我應該如何進行?我對這一切都有初步的了解。泰
“另外,請檢查 shell 是否未設置為 /sbin/nologin 或 /bin/false,即使身份驗證成功,這也會阻止登錄。”
在您提供的連結中,以上是指
/etc/passwd
文件。
/etc/passwd
文件格式如下:
- 使用者名:使用者登錄時使用。長度應在 1 到 32 個字元之間。
- 密碼:x 字元表示加密的密碼儲存在 /etc/shadow 文件中。
- 使用者 ID (UID):必須為每個使用者分配一個使用者 ID (UID)。UID 0(零)為 root 使用者保留,UID 1-99 為其他預定義帳戶保留。進一步的 UID 100-999 由系統保留用於管理和系統帳戶/組。
- 組 ID (GID):主要組 ID(儲存在 /etc/group 文件中)
- 使用者 ID 資訊:評論欄位。它允許您添加有關使用者的額外資訊,例如使用者的全名、電話號碼等。此欄位由手指命令使用。
- 主目錄:使用者登錄時所在目錄的絕對路徑。如果此目錄不存在,則使用者目錄變為 /
- 命令/shell:命令或 shell (/bin/bash) 的絕對路徑。通常,這是一個外殼。請注意,它不必是外殼。
在這裡,您對最後一個參數感興趣:
Command/shell
如果您覺得這很有趣
/sbin/nologin
,這裡是和之間的區別/bin/false
:當 /sbin/nologin 設置為 shell 時,如果使用該 shell 的使用者登錄,他們將收到一條禮貌的消息,說“此帳戶目前不可用。”。可以使用文件 /etc/nologin.txt 更改此消息。
/bin/false 只是一個立即退出的二進製文件,在呼叫時返回 false,因此當 shell 為 false 的人登錄時,當 false 退出時他們會立即註銷。
因此,基本上,只需簽入
/etc/passwd
您沒有/sbin/nologin
或/bin/false
在最後一個欄位中為您需要的使用者定義的文件。(嗯,不知道為什麼我寫了這樣一個答案,因為我最初的評論應該足夠了,但那是……)