
所以我遇到了一個有趣的問題。在 Arch Linux 上,如果我建立一個使用 shell 的用戶,/usr/bin
他們將無法登入。
useradd -m -G wheel -s /usr/bin/bash username
當他們嘗試登入時,他們會收到“登入錯誤”。但如果我編輯/etc/passwd
shell 並將其更改為/bin/bash
,一切都會正常工作。
有什麼想法嗎?謝謝!
答案1
警告:為了能夠登錄,登入 shell 必須是 /etc/shells 中列出的 shell 之一,否則 PAM 模組 pam_shell 將拒絕登入要求。特別是,不要使用 /usr/bin/bash 路徑代替 /bin/bash,除非在 /etc/shells 中正確配置。
cat /etc/shells
#
# /etc/shells
#
/bin/sh
/bin/bash
答案2
如果和沒有連結bash
在一起,那麼如果您指定了錯誤的 Bash 路徑,登入程式將無法啟動 shell。/bin/bash
/bin
/usr/bin
如果二進位檔案連結在一起,則您需要進行編輯/etc/shells
以包含這兩個變體。