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
alle notwendige Informationen über Benutzernamen, Paßwörter,
Gruppenzugehörigkeiten und andere Benutzerattribute enthalten.
Den Abschluß bildet ein Verweis 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, daß die meisten
Linux-Distributionen komfortable Werkzeuge zur Benutzerverwaltung
mitliefern und es auch eine Reihe von Befehlen gibt, die für die
Benutzerverwaltung gedacht sind. Diese werden in diesem Kapitel
nicht erläutert. Hier soll grundlegendes Wissen über den Aufbau,
Inhalt und 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 jetzt alle Benutzer des Systems
aufgelistet. Zu beachten ist, daß hier alle Benutzertypen eingetragen
sind, also vom root über die Systembenutzer bis zu den
Standardbenutzern.
Der Eintrag eines Benutzers hat generell folgende Syntax:
|
Username : Password : UID : GID : Info : Home :
Shell
|
|
|
Username
|
das ist der Benutzername in druckbare Zeichen, meistens in
Kleinbuchstaben
|
Password
|
hier steht verschlüsselt das Paßwort des Benutzers (bei
alten Systemen); heutzutage steht da ein x, das bedeutet
daß das Paßwort in der Datei /etc/shadow steht; möglich
ist es noch, den Eintrag leer zu lassen, dann erfolgt der
Login ohne Paßwortabfrage (in der Datei /etc/shadow muß
dann an Stelle des verschlüsselten Paßwortes ein *
stehen)
|
UID
|
User-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
|
Group-Id des Benutzers; auch hier muss die Zahl wie bei
der UID kleiner als 64000 sein
|
Info
|
hier können mehr Einträge stehen, wie z.B. der
vollständige Name des Benutzers und persönliche Angaben
(Telefonnummer, Abteilung, Gruppenzugehörigkeit u.ä.)
|
Home
|
das Heimatverzeichnis des Benutzers bzw. das
Startverzeichnis nach dem Login
|
Shell
|
die "vorgeschlagene" Shell, die nach dem Login gestartet
wird, bleibt dieses Feld frei, dann wird die Standardshell
/bin/sh gestartet
|
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 Paßwort ist in der Datei /etc/shadow
gespeichert (x), die UID ist 10, die GID 14, als Bezeichnung trägt es
den Namen "Unix-to-Unix CoPy system", das Startverzeichnis nach dem
Login ist /etc/uucp, und die vorgeschlagene Shell ist die bash.
|
Bei früheren Versionen von Linux speicherte man die die Paßwörter
direkt in die passwd-Datei. Allerdings war es durch einen sogenannten
Wörterbuchangriff und der Hilfe des linuxeigenen Programmes crypt
möglich, diese Paßwö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 Paßwörter durch ein spezielles System besser geschützt waren.
Der Eintrag in diese Datei erfolgt nach einem ähnlichen Schema, wie
in der Datei /etc/passwd:
|
Username : Password : DOC : MinD : MaxD : Warn : Exp : Dis : Res
|
|
|
Username
|
das ist der Benutzername in druckbare Zeichen, meistens in
Kleinbuchstaben
|
Password
|
hier steht verschlüsselt das Paßwort des Benutzers; wenn
hier ein * (Sternchen) steht, dann bedeutet
das, das kein Passwort vorhanden bzw. eingetragen ist
|
DOC
|
Day of last change; der Tag an dem das Paßwort zuletzt
geändert wurde; Besonderheit hier: es wird ab dem 1.1.1970
gezählt
|
MinD
|
Minimale Anzahl der Tage, die das Paßwort gültig ist
|
MaxD
|
Maximale Anzahl der Tage, die das Paßwort gültig ist
|
Warn
|
die Anzahl der Tage vor Ablauf der Lebensdauer, ab der vor
dem Verfall des Paßwortes zu warnen ist
|
Exp
|
hier wird festgelegt, wieviele Tage das Paßwort trotz
Ablauf der MaxD noch gültig ist
|
Dis
|
bis zu diesem Tag (auch hier wird ab dem 1.1.1970 gezählt)
ist der Benutzer-Account gesperrt
|
Res
|
Reserve, dieses Feld hat momentan keine Bedeutung
|
Es folgt wieder ein Beispiel:
selflinux:/heSIGnYDr6MI:11995:1:99999:14:::
|
Der Benutzer heißt selflinux, das Paßwort lautet
verschlüsselt "/heSIGnYDr6MI", es wurde zuletzt geändert,
als 11995 Tage seit dem 1.1.1970 vergangen waren. Das
Paßwort ist minimal 1 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 Paßwortes 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. Hier 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, daß man
die Daten gegen eine unbefugte Benutzung absichern kann.
Der Eintrag einer Gruppe in die Datei sieht so aus:
|
Groupname : Password : GID : Usernames (Mitgliederliste)
|
|
|
Groupname
|
der Name der Gruppe in druckbare Zeichen, auch hier
meistens Kleinbuchstaben
|
Password
|
die Besonderheit hier ist, wenn das Paßwort
eingerichtet ist, können auch Nichtmitglieder der
Gruppe Zugang zu den Daten der Gruppe erhalten, wenn
ihnen das Paßwort bekannt ist. Ein X sagt hier aus,
das das Paßwort in /etc/shadow abgelegt ist.
Der Eintrag kann auch entfallen, dann ist die Gruppe nicht durch ein
Paßwort geschützt und in die Gruppe kann aber auch
ein Benutzer wechseln, der nicht in diese Gruppe
eingetragen ist.
|
GID
|
Group-Id der Gruppe
|
Usernames
|
hier werden die Mitglieder der Gruppe
eingetragen. Diese sind durch ein einfaches Komma
getrennt.
|
Für einen korrekten Eintrag in die /etc/group reicht eigentlich der
Groupname und die GID aus. Damit ist die Gruppe dem System bekannt
gemacht. Die Felder für das Paßwort und die Usernames 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 muß er in die entsprechenden Gruppen
eingetragen werden. Wollen Sie, daß 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 ja dort die Standardgruppe
schon mit angegeben wird. Nur wenn der Benutzer in weiteren
bzw. mehreren Gruppen Mitglied sein soll, dann muss das in die
etc/group-Datei eingetragen werden.
Für Paßwö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, daß das Paßwort in /etc/shadow abgelegt
ist. Da in /etc/shadow hier bei Password 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, weil in
diesem Verzeichnis haben Sie die Möglichkeit, die "Erstausstattung" an
Konfigurationsdateien, die ein neuer Benutzer erhalten soll,
festzulegen. Das heißt dann, 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 nur einmal dieses Verzeichnis
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, muß dann sichergestellt sein, daß
die Benutzer- und Gruppenkennungen aller Rechner in diesem Netzwerk
miteinander harmonieren und es zu keinen Konflikten kommt. Das ist
die Aufgabe von dem Network Information Service (NIS).
Sie können NIS als Datenbanksystem verstehen, der Zugriff auf die
Dateien /etc/passwd, /etc/shadow
und /etc/group in dem gesamten
angeschlossenen Netzwerk ermöglicht.
|
|