技術的には、 pam
でない限り、 pam_shells
でシェルをチェックするように設定されています シェルを使用していない場合、これらのどちらも実際にログインを妨げることはありません。私のシステムでは、サイズも異なるので、実際に何かをしているのではないかと思います。では、違いは何ですか?なぜ両方が存在するのですか?なぜ私は一方を他方の上に使用するのですか?
-rwxr-xr-x 1 root root 21K Feb 4 17:01 /bin/false
-rwxr-xr-x 1 root root 4.7K Mar 2 14:59 /sbin/nologin
承認された回答:
/ sbin / nologin
の場合 がシェルとして設定されている場合、そのシェルを使用しているユーザーがログインすると、「このアカウントは現在利用できません」という丁寧なメッセージが表示されます。このメッセージは、ファイル/etc/nologin.txtで変更できます。コード> 。
/ bin / false
はただのバイナリであり、呼び出されるとすぐに終了し、falseを返します。したがって、 false
を持っている人は シェルがログインすると、 false
が発生するとすぐにログアウトされます 終了します。シェルを/bin / true
に設定する 誰かにログインを許可しないのと同じ効果がありますが、 false
おそらくtrue
の慣例として使用されます 人には殻がないという概念を伝えるのがはるかに優れているからです。
nologin
を見る のマニュアルページには、4.4 BSD(1990年代初頭)で作成されたため、 false
のずっと後に作成されたと書かれています。 作成されました。 false
の使用 シェルはおそらくUNIXの初期から引き継がれた単なる慣習です。
nologin
はよりユーザーフレンドリーなオプションであり、ログインしようとしているユーザーにカスタマイズ可能なメッセージが表示されるため、理論的にはそれを使用する必要があります。ただし、両方の nologin
およびfalse
誰かがシェルを持っておらず、SSHで接続できないのと同じ最終結果になります。