Um das Kapitel abzurunden und Ihnen einen Einblick in die
Registratur von Benutzern unter Linux zu geben, werden im
Folgenden die zentralen Benutzerdateien beschrieben, welche
notwendige Information über Benutzernamen, Passwörter,
Gruppenzugehörigkeiten und andere Benutzerattribute enthalten.
Den Abschluss bildet der Verweis auf ein System zur zentralen
Benutzerverwaltung in Netzwerken, das NIS (Network Information
System).
Die Dateien zur Benutzerverwaltung finden Sie unter Linux
im Verzeichnis /etc. Es handelt sich dabei um die Dateien /etc/passwd,
/etc/shadow und /etc/group.
An dieser Stelle sei nochmals darauf hingewiesen, dass die meisten
Linux-Distributionen komfortable Werkzeuge zur Benutzerverwaltung
mitliefern und es auch eine Reihe von Befehlen gibt, die für die
Benutzerverwaltung verwendet werden können. Diese werden jedoch
nicht hier, sondern in dem Kapitel
Benutzerverwaltung erläutert.
Im Folgenden soll Ihnen lediglich grundlegendes Wissen über den Aufbau,
Inhalt und die Funktionen der Dateien erläutert werden, die für die
Benutzerverwaltung unter Linux von Bedeutung sind.
Die Datei /etc/passwd ist die zentrale Benutzerdatenbank.
Mit cat /etc/passwd können Sie einen Blick in diese zentrale
Benutzerdatei werfen. Hier werden alle Benutzer des Systems
aufgelistet. Zu beachten ist, dass alle Benutzertypen eingetragen
sind, also sowohl der Superuser root als auch die Standard- und
Systembenutzer.
Ein Benutzerkonto in der Datei /etc/passwd hat generell folgende Syntax:
Benutzername : Passwort : UID : GID : Info : Heimatverzeichnis : Shell
|
Benutzername
|
Dies ist der Benutzername in druckbare Zeichen, meistens in
Kleinbuchstaben.
|
Passwort
|
Hier steht verschlüsselt das Passwort des Benutzers (bei
alten Systemen). Meist finden Sie dort ein x. Dies bedeutet,
dass das Passwort verschlüsselt in der Datei /etc/shadow steht.
Es ist auch möglich, den Eintrag leer zu lassen. Dann erfolgt die
Anmeldung ohne Passwortabfrage (in der Datei /etc/shadow muss
dann an Stelle des verschlüsselten Passwortes ein *
stehen).
|
UID
|
Die Benutzer-ID des Benutzers. Die Zahl hier sollte größer als
100 sein, weil die Zahlen unter 100 für Systembenutzer
vorgesehen sind. Weiterhin muss die Zahl aus technischen
Gründen kleiner als 64000 sein.
|
GID
|
Die Gruppen-ID des Benutzers. Auch hier muss die Zahl wie bei
der UID kleiner als 64000 sein.
|
Info
|
Hier kann weitere Information vermerkt werden, wie z.B. der
vollständige Name des Benutzers und persönliche Angaben
(Telefonnummer, Abteilung, Gruppenzugehörigkeit u.ä.).
|
Heimatverzeichnis
|
Das Heimatverzeichnis des Benutzers bzw. das
Startverzeichnis nach dem Login.
|
Shell
|
Die Shell, die nach der Anmeldung gestartet
werden soll. Bleibt dieses Feld frei, dann wird die Standardshell
/bin/sh gestartet.
|
Tabelle 2: Die Felder der Datei /etc/passwd
|
Hier ein Beispiel für einen Systembenutzer:
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
|
Der Benutzer heißt uucp, das Passwort ist in der Datei /etc/shadow
gespeichert (x), die UID ist 10, die GID 14, als erläuternde Bezeichnung trägt der
Benutzer den Namen "Unix-to-Unix CoPy system", das Startverzeichnis nach der
Anmeldung ist /etc/uucp, und die vorgeschlagene Shell ist die bash.
|
Bei früheren Versionen von Linux speicherte man die die Passwörter
direkt in die passwd-Datei. Allerdings war dies durch einen sogenannten
Wörterbuchangriff und der beispielsweise mit Hilfe des Programmes crypt
möglich, diese Passwörter in vielen Fällen zu entschlüsseln und
auszulesen.
Deshalb hat man die Datei /etc/shadow eingeführt, in der die Angaben
über die Passwörter durch ein spezielles System besser geschützt werden.
Der Eintrag in diese Datei erfolgt nach einem ähnlichen Schema, wie
in der Datei /etc/passwd:
Benutzername : Passwort : DOC : MinD : MaxD : Warn : Exp : Dis : Res
|
Benutzername
|
Dies ist der Benutzername in druckbaren Zeichen, meistens in
Kleinbuchstaben.
|
Passwort
|
Hier steht verschlüsselt das Passwort des Benutzers. Wenn
hier ein * oder ! steht, dann bedeutet
dies, dass kein Passwort vorhanden bzw. eingetragen ist.
|
DOC
|
Day of last change: der Tag, an dem das Passwort zuletzt
geändert wurde. Besonderheit hier: Der Tag wird als Integer-Zahl in
Tagen seit dem 1.1.1970 angegeben.
|
MinD
|
Minimale Anzahl der Tage, die das Passwort gültig ist.
|
MaxD
|
Maximale Anzahl der Tage, die das Passwort gültig ist.
|
Warn
|
Die Anzahl der Tage vor Ablauf der Lebensdauer, ab der vor
dem Verfall des Passwortes zu warnen ist.
|
Exp
|
Hier wird festgelegt, wieviele Tage das Passwort trotz
Ablauf der MaxD noch gültig ist.
|
Dis
|
Bis zu diesem Tag (auch hier wird ab dem 1.1.1970 gezählt)
ist das Benutzerkonto gesperrt
|
Res
|
Reserve, dieses Feld hat momentan keine Bedeutung.
|
Tabelle 3: Die Felder der Datei /etc/shadow
|
Es folgt wieder ein Beispiel:
selflinux:/heSIGnYDr6MI:11995:1:99999:14:::
|
Der Benutzer heißt selflinux, das Passwort lautet
verschlüsselt "/heSIGnYDr6MI". Es wurde zuletzt geändert,
als 11995 Tage seit dem 1.1.1970 vergangen waren. Das
Passwort ist minimal einen Tag gültig, maximal 99999 Tage (was man
als immer deuten kann - 99999 Tage sind ca. 274 Jahre). Es soll ab
14 Tage vor Ablauf des Passwortes gewarnt werden. Die anderen Werte
sind vom Administrator nicht definiert und bleiben daher leer.
|
In dieser Datei finden Sie die Benutzergruppen und ihre Mitglieder. In
der Datei /etc/passwd wird mit der GID eigentlich schon eine
Standardgruppe für den Benutzer festgelegt. In der /etc/group
können Sie weitere Gruppenzugehörigkeiten definieren. Das hat in der
Praxis vor allem in Netzwerken eine große Bedeutung, weil Sie so in
der Lage sind, z.B. Gruppen für Projekte oder Verwaltungseinheiten zu
bilden. Für diese Gruppen kann man dann entsprechend die
Zugriffsrechte einstellen. Dies hat dann wiederum den Vorteil, dass man
die Daten gegen eine unbefugte Benutzung absichern kann.
Der Eintrag einer Gruppe in die Datei sieht so aus:
Gruppenname : Passwort : GID : Benutzernamen (Mitgliederliste)
|
Gruppenname
|
Der Name der Gruppe in druckbare Zeichen, auch hier
meistens Kleinbuchstaben.
|
Passwort
|
Die Besonderheit hier ist folgende: Wenn das Passwort
eingerichtet ist, können auch Nichtmitglieder der
Gruppe Zugang zu den Daten der Gruppe erhalten, wenn
ihnen das Passwort bekannt ist. Ein x sagt hier aus,
das das Passwort in /etc/shadow abgelegt ist.
Der Eintrag kann
auch entfallen, dann ist die Gruppe nicht durch ein
Passwort geschützt. In diesem Fall kann jedoch auch
kein Benutzer in die Gruppe wechseln, der nicht in diese Gruppe
eingetragen ist.
|
GID
|
Gruppen-ID der Gruppe
|
Benutzernamen
|
hier werden die Mitglieder der Gruppe
eingetragen. Diese sind durch ein einfaches Komma
getrennt.
|
Tabelle 4: Die Felder der Datei /etc/group
|
Für einen korrekten Eintrag in die /etc/group reicht eigentlich der
Gruppenname und die GID aus. Damit ist die Gruppe dem System bekannt
gemacht. Die Felder für das Passwort und die Benutzernamen können frei
bleiben.
Wenn allerdings ein Benutzer in mehr als einer Gruppe (außer
in seiner Standardgruppe, welche in der /etc/passwd fesgelegt wurde)
Mitglied sein soll, so muss er in die entsprechenden Gruppen
eingetragen werden. Wollen Sie, dass mehrere Mitglieder in einer
Gruppe zusammenarbeiten und diese Gruppe ist nicht die Standardgruppe
dieser Mitglieder, dann müssen Sie ebenfalls jedes dieser Mitglieder
in die gewünschte Gruppe eintragen.
Nochmal zur besseren Veranschaulichung mit anderen Worten.
Soll der Benutzer nur in seiner Standardgruppe
bleiben, ist kein Eintrag in die /etc/group notwendig. Hier reicht der
Eintrag in die /etc/passwd völlig aus, weil dort die Standardgruppe
schon mit angegeben wird. Nur wenn der Benutzer in weiteren
bzw. mehreren Gruppen Mitglied sein soll, muss dies in die
/etc/group-Datei eingetragen werden.
Für Passwörter gilt das oben in der Tabelle Gesagte.
Hier sehen Sie ein Beispiel für einen Eintrag:
dialout:x:16:root,tatiana,steuer,selflinux
|
Sie sehen eine Gruppe mit der GID "16" und den Namen dialout. (Zur
Information: dialout erlaubt es normalen Benutzern einen
ppp-Verbindungsaufbau zu starten, normalerweise hat nur root dieses
Recht). Das x bedeutet hier, dass das Passwort in /etc/shadow abgelegt
ist. Da in /etc/shadow hier bei Passwort ein * steht, ist also kein
Passwort für die Gruppe vorhanden (Das bedeutet wiederum, das nur die
eingetragenen Mitglieder Zugang zu dieser Gruppe haben).
Mitglieder der Gruppe sind: root, tatiana, steuer, selflinux.
|
Dieses Verzeichnis hat mit der Benutzerverwaltung im engeren Sinn
nichts zu tun. Es soll hier aber trotzdem erwähnt werden, denn in
diesem Verzeichnis haben Sie die Möglichkeit, die "Erstausstattung" an
Konfigurationsdateien, die ein neuer Benutzer erhalten soll,
festzulegen. Jedes Mal, wenn Sie einen neuen Benutzer einrichten,
können Sie durch einfaches Kopieren des Verzeichnisses /etc/skel dem
neuen Nutzer eine vorgefertigte, einheitliche Umgebung bereit
stellen.
In der Praxis wird von dem /etc/skel-Verzeichnis sehr oft
Gebrauch gemacht, denn sie müssen dieses Verzeichnis nur einmal
anlegen und können dann eine große Anzahl von Benutzern auf einfache
Weise einrichten. Bei den meisten Linux-Distributionen wird dieses
Verzeichnis schon standardmäßig angelegt und kann dann nach den
eigenen Wünschen verändert werden.
|
Wenn mehrere Linux- und Unix-Systeme in einem Netzwerk auf gemeinsame
Ressourcen zurückgreifen wollen, dann muss sichergestellt sein, dass
die Benutzer- und Gruppenkennungen aller Rechner in diesem Netzwerk
miteinander harmonieren und es zu keinen Konflikten kommt. Das ist
die Aufgabe des Network Information Service (NIS).
Sie können NIS als Datenbanksystem verstehen, das Zugriff auf die
Dateien /etc/passwd, /etc/shadow und /etc/group in dem gesamten
angeschlossenen Netzwerk ermöglicht.
|
|