Sobald Sie anfangen, sich in ein Linux-System zu vertiefen, werden Sie möglicherweise einige verwirrende oder unerwartete Dinge finden, wie zum Beispiel /usr/bin/false. Warum ist es da und wozu dient es? Der heutige SuperUser Q&A-Post hat die Antwort auf die Fragen eines neugierigen Lesers.
Die Frage
SuperUser reader user7326333 möchte wissen, warum manche Systembenutzer /usr/bin/false als Shell haben:
Warum haben manche Systembenutzer /usr/bin/false als Shell? Was bedeutet das?
Warum haben manche Systembenutzer /usr/bin/false als Shell?
Die Antwort
Die SuperUser-Mitwirkenden duDE, Toby Speight und bbaassssiiee haben die Antwort für uns. Erstmal, duDE:
Dadurch wird verhindert, dass sich Benutzer an einem System anmelden. Manchmal benötigen Sie ein Benutzerkonto für eine bestimmte Aufgabe. Trotzdem sollte niemand auf dem Computer mit diesem Konto interagieren können. Dies sind zum einen Systembenutzerkonten. Andererseits ist dies ein Konto, für das ein FTP- oder POP3-Zugriff möglich ist, aber nur kein direkter Shell-Login.
Schaut man sich die Datei /etc/passwd genauer an, findet man für viele Systemkonten den Befehl /bin/false als Login-Shell. False ist eigentlich keine Shell, sondern ein Befehl, der nichts tut und dann auch noch mit einem Statuscode endet, der einen Fehler signalisiert. Das Ergebnis ist einfach. Der Benutzer meldet sich an und sieht sofort wieder die Anmeldeaufforderung.
Gefolgt von der Antwort von Toby Speight:
Diese Benutzer sind Eigentümer bestimmter Dateien oder Prozesse und nicht als Anmeldekonten gedacht. Wenn der Wert des Felds „shell“ nicht in /etc/shells aufgeführt ist, erlauben Programme wie FTP-Daemons keinen Zugriff. Außerdem machen sich Programme, die /etc/shells nicht überprüfen, die Tatsache zunutze, dass /bin/false sofort eine interaktive Shell zurückgibt und ablehnt.
Und unsere letzte Antwort von bbaassssiiee:
Einige Benutzer haben /usr/bin/false, andere haben /sbin/nologin oder vielleicht sogar /usr/bin/passwd. Dies können entweder Systembenutzer sein, die zum Isolieren von Programmberechtigungen benötigt werden, oder menschliche Benutzer von Programmen, die die Kennwortdateien zur Authentifizierung verwenden.
Möchten Sie der Erklärung noch etwas hinzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Sehen Sie sich hier den vollständigen Diskussionsthread an.