シェルが/usr/bin/bashに設定されていると、ログインできません。

シェルが/usr/bin/bashに設定されていると、ログインできません。

だから興味深い問題があります。 Arch Linuxでシェルを使用してユーザーを作成すると、/usr/binログインできません。次のコマンドを使用してユーザーを作成します。

useradd -m -G wheel -s /usr/bin/bash username

ログインしようとすると、「ログインエラー」と表示されます。しかし、シェルを編集して/etc/passwdに変更すると、/bin/bashすべてがうまく機能します。

どんなアイデアがありますか?ありがとうございます!

答え1

〜のようにArch Wikiではこれを明確に説明しています。:

警告:ログインできるようにするには、ログインシェルが/ etc / shellsにリストされているシェルの1つである必要があります。それ以外の場合、PAMモジュールpam_shellはログイン要求を拒否します。特に、/bin/bash の代わりに /usr/bin/bash パスを使用しないでください。、/etc/shells に正しく設定されていない場合。

cat /etc/shells                         
#
# /etc/shells
#

/bin/sh
/bin/bash

答え2

とが接続されていない場合、bash間違ったBashパスを指定すると、ログインプログラムはシェルを起動できません。/bin/bash/bin/usr/bin

/etc/shellsバイナリが互いにリンクされている場合は、両方のバリアントを含めるように編集する必要があります。

関連情報