
Mir ist bewusst, dass die Datei /etc/passwd aus Zeilen von Benutzerkonten besteht, die aus 7 Feldern bestehen, nämlich;
username:encrypted password or token:userid:groupid:gecos:home directory:default shell
Die Details einiger Benutzer erscheinen jedoch als
username:x:1000:1000:username,,,:/home/username:/bin/bash
Was stellen die Kommas dar?
BEARBEITEN
Weiter zu Daniels Kommentar weiter unten: Der Grund für meine Frage, warum die Kommas erscheinen, liegt darin, dass kein anderes Benutzerkonto in /etc/passwd die gleiche Struktur zu haben scheint, obwohl die anderen Details des Felds „gecos“ fehlen.
Antwort1
Das Feld „Gecos“ enthält nicht nur den Benutzernamen, sondern auch Informationen über diesen Benutzer, zum Beispiel:
- Echter Name
- Zimmernummer
- Telefonnummer
- und so weiter...
Wenn wir uns ansehendas Beispiel des Wikipedia-Artikelswird Folgendes deutlich:
jsmith:x:1001:1000:Joe Smith,Room 1007,(234)555-8910,(234)555-0044,email:/home/jsmith:/bin/sh
Das fünfte Feld, das sogenannte Gecos-Feld, enthält einen Kommentar, der die Person oder das Konto beschreibt. Normalerweise handelt es sich dabei um eine Reihe von durch Kommas getrennten Werten, darunter der vollständige Name und die Kontaktdaten des Benutzers.
Was Sie also sehen, ist ein leerer Satz von Benutzerinformationen. Es ist höchstwahrscheinlich von System zu System unterschiedlich, wie diese Informationen verarbeitet und in der passwd
Datei festgelegt werden.
Antwort2
Wie in den Kommentaren zur ursprünglichen Frage gesagt:Warum sind in meiner Datei /etc/passwd komische Kommas?Undhttp://en.wikipedia.org/wiki/Gecos_fielderklärenWasdiese Felder sind.
Um die Frage zu beantworten: „Warum erscheinen sie fürmancheBenutzer und nicht andere“: Diese Informationen werden normalerweise von dem Tool erstellt, das den Benutzer zum System hinzufügt. Es ist nicht sinnvoll, beispielsweise „Zimmernummer“ für den sshd
Benutzer anzugeben, und daher werden diese Felder beim Erstellen dieser Benutzer weggelassen.
Aber warum sehe ich dann zB
mysql:x:107:109:MySQL Server,,,:/var/lib/mysql:/bin/false
in meinem etc/passwd
? Dieser Benutzer wurde wahrscheinlich von einem Skript erstellt, das der Einfachheit halber adduser
anstelle des Low-Level- useradd
Tools verwendet wurde (auf vielen gängigen Systemen vorhanden) (ich denke, die Benennung hätte besser sein können) und adduser
erstellt automatisch die Gecos-Platzhalter. Alternativ könnte es eine bewusste Entscheidung bei der Benutzererstellung gewesen sein, nur aus Konformitätsgründen das Gecos-Format einzuhalten, aber ich glaube, es ist in diesen Fällen größtenteils unnötiger Ballast.
Warum sind die Gecos-Felder dann auch für meinen normalen Benutzer leer? Weil ich beim Erstellen dieses Benutzers einfach nie die Zimmernummer usw. ausgefüllt habe (ich weiß nicht einmal, ob ich diese Auswahl während der Systeminstallation hatte – ich glaube nicht).
(Nebenbemerkung: Dieses System bedeutet, dass ein vollständiger Name wie beispielsweise „Daniel Andersson, PhD“ von den meisten Tools falsch interpretiert wird.)