何人かのシステムユーザーはなぜシェルとして/ usr/bin/falseを持っていますか、そしてそれはどういう意味ですか?
これは、ユーザーがシステムにログオンするのを防ぐのに役立ちます。
特定のタスクにユーザーアカウントが必要な場合があります。それにもかかわらず、誰もコンピュータ上でこのアカウントと対話することができないはずです。これらは一方ではシステムユーザーアカウントであり、他方ではこれはFTPまたはPOP3アクセスが可能なアカウントですが、直接のシェルログインではありません。
/etc/passwd
ファイルを詳しく見ると、/bin/false
コマンドは多くのシステムアカウントのログインシェルとして使用できます。実際、falseはシェルではありませんが、何もしないでエラーを知らせるステータスコードで終了するコマンドです。結果は簡単です。ユーザはログインし、すぐにログインプロンプトを再び見ます。
これらのユーザーは特定のファイルまたはプロセスの所有者になるために存在し、ログインアカウントになることを目的としていません。
"Shell"フィールドの値が/etc/shells
にリストされていない場合、FTPデーモンなどのプログラムはアクセスを許可しません。
さらに、/etc/shells
をチェックしないプログラムでは、/bin/false
がすぐに返されるという事実を利用しているので、対話型シェルは拒否されます。
/ usr/bin/falseを持つユーザー、/ sbin/nologinを持つユーザー、または/ usr/bin/passwdを持つユーザーもいます。プログラムのアクセス許可を分離するために必要なシステムユーザー、または認証にパスワードファイルを使用するプログラムの人間ユーザーのどちらかです。