Warum haben einige Systembenutzer / usr / bin / false als Shell?
Sobald Sie sich in ein Linux-System eingegraben haben, finden Sie möglicherweise verwirrende oder unerwartete Dinge, wie beispielsweise / usr / bin / false. Warum ist es da und wozu dient es? Der heutige SuperUser-Q & A-Beitrag enthält die Antwort auf die Fragen neugieriger Leser.
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Die Frage
Der SuperUser-Reader user7326333 möchte wissen, warum einige Systembenutzer / usr / bin / false als Shell verwenden:
Warum haben einige Systembenutzer / usr / bin / false als Shell? Was bedeutet das?
Warum haben einige Systembenutzer / usr / bin / false als Shell?
Die Antwort
SuperUser-Mitwirkende duDE, Toby Speight und bbaassssiiee haben die Antwort für uns. Zunächst einmal duDE:
Dies verhindert, dass Benutzer sich an einem System anmelden. Manchmal benötigen Sie ein Benutzerkonto für eine bestimmte Aufgabe. Trotzdem sollte niemand mit diesem Konto auf dem Computer interagieren können. Dies sind zum einen Systembenutzerkonten. Auf der anderen Seite ist dies ein Konto, für das ein FTP- oder POP3-Zugriff möglich ist, jedoch kein direktes Shell-Login.
Wenn Sie sich die Datei / etc / passwd genauer ansehen, finden Sie den Befehl / bin / false als Anmelde-Shell für viele Systemkonten. Eigentlich ist false keine Shell, sondern ein Befehl, der nichts tut und dann auch mit einem Statuscode endet, der einen Fehler signalisiert. Das Ergebnis ist einfach. Der Benutzer meldet sich an und sieht sofort die Anmeldeaufforderung.
Gefolgt von der Antwort von Toby Speight:
Diese Benutzer müssen Eigentümer bestimmter Dateien oder Prozesse sein und sind nicht als Anmeldekonten gedacht. Wenn der Wert des "shell" -Felds nicht in / etc / shells aufgeführt ist, erlauben Programme wie FTP-Daemons keinen Zugriff. Außerdem machen Programme, die / etc / shells nicht prüfen, die Tatsache aus, dass / bin / false sofort eine interaktive Shell zurückgibt und diese ablehnt.
Und unsere abschließende Antwort von bbaassssiiee:
Einige Benutzer haben / usr / bin / false, andere haben / sbin / nologin oder sie haben sogar / usr / bin / passwd. Sie können entweder Systembenutzer sein, die zum Isolieren von Programmberechtigungen benötigt werden, oder menschliche Benutzer von Programmen, die die Kennwortdateien zur Authentifizierung verwenden.
Haben Sie der Erklärung etwas hinzuzufügen? Sound off in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.
Bildnachweis: OpenStack Docs (OpenStack-Projekt)