
そこで、興味深い問題に遭遇しました。Arch Linux では、シェルを使用するユーザーを作成すると、/usr/bin
ログインできません。次のようにしてユーザーを作成します。
useradd -m -G wheel -s /usr/bin/bash username
ログインしようとすると、「ログインが正しくありません」というメッセージが表示されます。ただし、/etc/passwd
シェルを編集して に変更すると/bin/bash
、すべて正常に動作します。
ここで何が起こっているのか、何か分かりますか? ありがとうございます!
答え1
としてArch Wikiは明らかに:
警告: ログインできるようにするには、ログイン シェルが /etc/shells にリストされているシェルのいずれかである必要があります。そうでない場合、PAM モジュール pam_shell はログイン要求を拒否します。特に、/bin/bashの代わりに/usr/bin/bashパスを使用しないでください。ただし、/etc/shells で適切に設定されていない場合は、
cat /etc/shells
#
# /etc/shells
#
/bin/sh
/bin/bash
答え2
bash
が にあり/bin/bash
、/bin
がリンクされていない場合/usr/bin
、Bash へのパスを間違って指定すると、ログイン プログラムはシェルを起動できません。
バイナリがリンクされている場合は、/etc/shells
両方のバリアントを含めるように編集する必要があります。