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


回答:


73

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

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

/etc/passwdファイルをより詳しく見ると/bin/false、多くのシステムアカウントのログインシェルとしてコマンドが見つかります。実際、falseはシェルではなく、何もせずにエラーを通知するステータスコードで終了するコマンドです。結果は簡単です。ユーザーはログインし、すぐに再度ログインプロンプトが表示されます。



5
これは単なる慣習であることに注意してください。として自分のシェルをインストールし、/random/path/foo-shellそれをデフォルトとして設定することができます/etc/passwd。そこに何もされていない保証は。
非現実

16

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

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

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


7

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


1
/usr/bin/passwdメール専用アカウントなどに使用されます。ユーザーはsshを使用してパスワードを変更できますが、それ以外は何もできません。
サイモンリヒター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.