所以我遇到了一个有趣的问题。在 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
以包含这两个变体。