SelfLinux » Basiskonzepte für Benutzer » Benutzer- und Berechtigungskonzepte unter Linux » Teil 6 SelfLinux-0.8.0
« zurück Verzeichnisse unter Linux »
SelfLinux logo
OrdnerBenutzer- und Berechtigungskonzepte unter Linux Revision: 1.2.2.11
Autoren: H. Degenhardt, J. Meinhold, M. Kleine
Layout: Matthias Hagedorn
Lizenz: GFDL

6 Die zentralen Benutzerdateien

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.


6.1 Die Datei /etc/passwd

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.



6.2 Die Datei /etc/shadow

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.



6.3 Die Datei /etc/groups

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.



6.4 Das Verzeichnis /etc/skel

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.



6.5 Network Information Service (NIS)

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.



« zurück Verzeichnisse unter Linux »
Inhalt