技術的には、 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で接続できないのと同じ最終結果になります。