8.4. Benutzer- und Gruppendatenbanken
Die Liste der Benutzer ist normalerweise in der Datei /etc/passwd
gespeichert, während die Datei /etc/shadow
verschlüsselte Passwörter speichert. Beide sind Textdateien in einem recht einfachen Format, das mit einem Texteditor gelesen und geändert werden kann. Jeder Benutzer ist darin in einer Zeile mit mehreren durch einen Doppelpunkt („:
“) getrennten Feldern aufgeführt.
8.4.1. Benutzerliste: /etc/passwd
Hier ist die Liste der Felder in der Datei /etc/passwd
:
login, zum Beispiel rhertzog
;
password: dies ist ein mit einer Einwegfunktion (crypt
) basierend auf DES
, MD5
, SHA-256
or SHA-512
verschlüsseltes Passwort. Der besondere Wert „x
" bedeutet, dass das verschlüsselte Passwort in der Datei /etc/shadow
gespeichert ist;
uid
: eine eindeutige Zahl zur Identifizierung jeden Benutzers;
gid
: eine eindeutige Zahl für die Hauptgruppe des Benutzers (Debian erstellt standardmäßig für jeden Benutzer eine besondere Gruppe);
GECOS
: Datenfeld, das gewöhnlich den vollständigen Namen des Benutzers enthält;
Benutzerverzeichnis, das dem Benutzer zur Speicherung seiner persönlichen Dateien zugewiesen ist (die Umgebungsvariable $HOME
verweist üblicherweise hierauf);
program to execute upon login. This is usually a command interpreter (shell), giving the user free rein. If you specify /bin/false
(which does nothing and returns control immediately), the user cannot login.
8.4.2. Die versteckte und verschlüsselte Passwortdatei: /etc/shadow
Die Datei /etc/shadow
enthält die folgenden Felder:
8.4.3. Ein bestehende Konto oder Passwort ändern
Mit den folgenden Befehlen ist es möglich, die in bestimmten Feldern der Benutzerdatenbanken gespeicherten Informationen zu verändern: passwd
erlaubt es einem normalen Benutzer, sein Passwort zu ändern, wodurch wiederum die Datei /etc/shadow
aktualisiert wird; chfn
(CHange Full Name) ist für den Superuser (Root) reserviert und verändert das Feld GECOS
. chsh
(CHange SHell) ermöglicht es dem Benutzer, seine Anmelde-Shell zu wechseln, jedoch ist dabei die Auswahl auf diejenigen begrenzt, die in der Datei /etc/shells
aufgeführt sind; dagegen ist der Administrator nicht an diese Einschränkung gebunden und kann als Shell jedes von ihm gewählte Programm einstellen.
Schließlich ermöglicht der Befehl chage
(CHange AGE) es dem Administrator, die Passwort-Verfallseinstellungen zu ändern (mit der Option -l benutzer
werden die aktuellen Einstellungen aufgelistet). Man kann auch den Verfall eines Passworts mit dem Befehl passwd -e benutzer
erzwingen, wodurch der Benutzer bei der nächsten Anmeldung sein Passwort ändern muss.
Es kann sein, dass Sie als Disziplinarmaßnahme, zum Zweck einer Untersuchung oder einfach im Falle einer längeren oder endgültigen Abwesenheit eines Benutzers ein „Konto sperren“ (einen Benutzer ausschließen) müssen. Ein gesperrtes Konto bedeutet, dass sich der Benutzer nicht mehr anmelden und Zugang zum Rechner erhalten kann. Das Konto bleibt unversehrt auf dem Rechner, und weder Dateien noch Daten werden gelöscht; es ist einfach nur nicht mehr zugänglich. Dies wird mit dem Befehl passwd -l benutzer
erreicht (zum Sperren). Die erneute Freigabe des Kontos geschieht auf ähnliche Weise mit der Option -u
(zum Entsperren).
8.4.5. Gruppenliste: /etc/group
Gruppen sind in der Datei /etc/group
aufgelistet, einer einfachen Textdatenbank in einem der Datei /etc/passwd
ähnlichen Format mit folgenden Feldern:
Gruppenname;
gid
: eindeutige Gruppenidentifikationsnummer;
Mitgliederliste: Liste mit den Namen der Benutzer, die Mitglieder der Gruppe sind, getrennt durch Kommata.
Die Befehle groupadd
und groupdel
fügen eine Gruppe hinzu beziehungsweise löschen sie. Der Befehl groupmod
ändert die Informationen über eine Gruppe (sein gid
, das heißt seine Kennung). Der Befehl passwd -g gruppe
ändert das Passwort der Gruppe, während der Befehl passwd -r -g gruppe
es löscht.