/ etc/passwdには、システム上のすべてのユーザー用の行があるはずです。一般的なユーザー名とルートの中には、他のユーザーがたくさんいます。いくつかの例:
timidity:x:114:127:TiMidity++ MIDI sequencer service:/etc/timidity:/bin/false
liquidsoap:x:115:128::/usr/share/liquidsoap:/bin/false
statd:x:116:65534::/var/lib/nfs:/bin/false
gdm:x:117:131:Gnome Display Manager:/var/lib/gdm:/bin/false
mysql:x:118:133:MySQL Server,,,:/nonexistent:/bin/false
これらは「サービスアカウント」と呼ばれるものであり、特権の分離に使用されます(たとえば、mysqlは所有していないファイルを読み取ることができません)。
/bin/false
エントリがあるため、インタラクティブにログインできません。代わりに、適切なファイルへのアクセスに使用されます。
これらのアカウントは、バックグラウンドでサービスを実行するために使用されます。 SQLがそのようなサービスの1つであることを正しく識別したため、Linuxシステムにはバックグラウンドでさまざまなタスクを実行するさまざまなアプリケーションがあります。これらのサービスがアクティビティを実行するには、ユーザーが接続されている必要があります。
システムのセキュリティを維持するために、これらのタスクはrootとして実行できず、代わりに/bin/false
または/sbin/nologin
で識別されるシェルまたはログインアクセス権を持たないアカウントが割り当てられます。これにより、各アプリケーションが使用するファイルにのみ権限を割り当てることもできます。
このため、これらのユーザーとしてログインすることはできません。
ソース- linuxquestions.com
これらのユーザーは、従来の意味でのインタラクティブユーザーではなく、ボックスでサービスを実行するユーザーです。そのため、それらのユーザーとしてログインすることも、ログインすることもできません。アカウントはパスワードなし(ログインが無効)であるか、ランダムに生成されたパスワードを持っています。パスワードなしのアカウントは、実際のサービスを実行するためにsuを使用してroot(通常は起動時)によって呼び出すことができます。