web-dev-qa-db-ja.com

何人かのシステムユーザはなぜシェルとして/ usr / bin / falseを持っているのですか?

何人かのシステムユーザーはなぜシェルとして/ usr/bin/falseを持っていますか、そしてそれはどういう意味ですか?

62
user7326333

これは、ユーザーがシステムにログオンするのを防ぐのに役立ちます。

特定のタスクにユーザーアカウントが必要な場合があります。それにもかかわらず、誰もコンピュータ上でこのアカウントと対話することができないはずです。これらは一方ではシステムユーザーアカウントであり、他方ではこれはFTPまたはPOP3アクセスが可能なアカウントですが、直接のシェルログインではありません。

/etc/passwdファイルを詳しく見ると、/bin/falseコマンドは多くのシステムアカウントのログインシェルとして使用できます。実際、falseはシェルではありませんが、何もしないでエラーを知らせるステータスコードで終了するコマンドです。結果は簡単です。ユーザはログインし、すぐにログインプロンプトを再び見ます。

72
duDE

これらのユーザーは特定のファイルまたはプロセスの所有者になるために存在し、ログインアカウントになることを目的としていません。

"Shell"フィールドの値が/etc/shellsにリストされていない場合、FTPデーモンなどのプログラムはアクセスを許可しません。

さらに、/etc/shellsをチェックしないプログラムでは、/bin/falseがすぐに返されるという事実を利用しているので、対話型シェルは拒否されます。

16
Toby Speight

/ usr/bin/falseを持つユーザー、/ sbin/nologinを持つユーザー、または/ usr/bin/passwdを持つユーザーもいます。プログラムのアクセス許可を分離するために必要なシステムユーザー、または認証にパスワードファイルを使用するプログラムの人間ユーザーのどちらかです。

7
bbaassssiiee