Die herkömmliche UNIX -Kennwortdatei `/etc/passwd` enthält Benutzerkontoinformationen. Während das genaue Format zwischen UNIX-ähnlichen Systemen geringfügig variieren kann, sind die Standardfelder:
1. Benutzername (Anmeldenname): Die eindeutigen Kenner -Benutzer verwenden sich an.
2. Passwort (x): Historisch gesehen hat dieses Feld das verschlüsselte Passwort gespeichert. Aus Sicherheitsgründen speichern moderne Systeme jedoch hier in der Regel ein "X" (oder manchmal auch einen Sternchen oder einen anderen Platzhalter), was darauf hinweist, dass der tatsächliche Passwort -Hash in der Datei "/etc/Shadow" gespeichert ist.
3. Benutzer -ID (UID): Eine eindeutige numerische Kennung für den Benutzer. Dies wird intern vom Betriebssystem verwendet, um das Eigentum, die Berechtigungen und andere benutzerspezifische Operationen von Dateien zu verfolgen. UID 0 ist dem Stammbenutzer reserviert.
4. Gruppen -ID (GID): Die numerische Kennung der primären Gruppe des Benutzers. Die Gruppenmitgliedschaft definiert, welche Berechtigungen der Benutzer in Dateien und Verzeichnissen dieser Gruppe hat.
5. Benutzerinformationen (GECOS -Feld): Ein von Kommas getrennter Feld, das traditionell beschreibende Informationen über den Benutzer enthält, wie z. B. seinen vollständigen Namen, seinen Büro und die Telefonnummer. Es wird weniger häufig für seinen ursprünglichen Zweck verwendet, und die Komponenten können leer sein. Tools wie `chfn` werden verwendet, um dieses Feld zu ändern.
6. Home Directory: Der absolute Weg zum Heimverzeichnis des Benutzers. Hier wird der Benutzer platziert, wenn er sich anmeldet, und in der Regel werden seine persönlichen Dateien und Einstellungen gespeichert.
7. Login Shell: Der absolute Pfad zum bevorzugten Befehlszeilen-Interpreter (Shell) des Benutzers. Dies ist das Programm, das ausgeführt wird, wenn der Benutzer sich einmeldet. Gemeinsame Shells umfassen `/bin/bash`,`/bin/sh`, `/bin/zsh` und`/bin/csh`. Wenn dieses Feld leer ist, kann das System eine Standardhülle verwenden (häufig `/bin/sh`). Ein Wert von `/sbin/nologin` verhindert, dass sich der Benutzer direkt anmelden.
Beispiel:
`` `
John:x:1001:1001:John Doe ,,,:/home/John:/bin/bash
`` `
* `John`:Benutzername
* `x`:Passwort (Zeiger auf /etc /Shadow)
* `1001`:Benutzer -ID
* `1001`:Gruppen -ID
* `John doe ,,,`:Gecos Feld (Voll Name und 2 leere Felder und ein anderes leeres Feld)
* `/home/John`:Heimverzeichnis
* `/bin/bash`:Anmeldeschale
Wichtige Überlegungen:
* Die Felder sind durch Kolons getrennt (`:`).
* Aufgrund des Vorhandenseins sensibler Informationen wie verschlüsselten Kennwörtern ist der Zugriff auf `/etc/passwd` in der Regel auf den Stammbenutzer oder die Mitglieder einer bestimmten Verwaltungsgruppe beschränkt. Während die Best Practices der Sicherheitsbekämpfung im Allgemeinen weltweit lesbar sind.
* Moderne Systeme verwenden im Allgemeinen `/etc/Shadow`, um Passwort -Hashes zu speichern und eine zusätzliche Sicherheitsebene bereitzustellen, da`/etc/shadow` viel restriktivere Berechtigungen als `/etc/passwd` hat.
* Netzwerkinformationsdienst (NIS), Leichtgewichts -Verzeichnis -Zugriffsprotokoll (LDAP) und andere Verzeichnisdienste können ebenfalls für die Benutzerauthentifizierung und Autorisierung verwendet werden, wodurch die lokale `/etc/passwd` -Datei überschrieben wird.
* Das Gecos -Feld wird oft missbraucht oder ignoriert. Sicherheitsüberlegungen empfehlen, die Speicherung potenziell sensibler Daten in diesem Bereich zu vermeiden.