Dieses Handbuch wird mit freundlicher Genehmigung von Sebastian Hetze auf den Servern der Linux Information Systems AG gehosted.

next up previous contents index
Next: Partitionen und Dateisysteme Up: Systemverwaltung Previous: Genauere Betrachtung der Datensicherheit

Subsections


Benutzer eintragen

   

Die Notwendigkeit einer Benutzerverwaltung liegt bei Mehrbenutzersystemen auf der Hand. Die User müssen dem System durch einen Eintrag in der Benutzerdatenbank /etc/passwd bekannt gemacht werden. Nachdem die Installation einer neuen Linux-Distribution abgeschlossen ist, gibt es zunächst nur den root-Account für die Systemverwalterin. Alle weiteren Benutzerbereiche müssen erst eingerichtet werden.

Selbst wenn Linux nur von einer einzigen Person benutzt wird, ist unbedingt anzuraten, diesen User als `normalen' Benutzer einzutragen. Beim alltäglichen Arbeiten unter Rootrechten sind die meisten Sicherheitsvorkehrungen des Kernels ganz abgeschaltet, oder sie lassen sich leicht umgehen. Auf diese Weise können leicht Fehler entstehen, die das gesamte System betreffen. Sie vermeiden die Gefahr, indem Sie sich unter einem normalen Useraccount einloggen und nur vorübergehend mit dem Programm su eine Shell mit Rootrechten starten.

Bei vielen Linux-Distributionen gibt es zur Unterstützung der Systemverwalterin Dienstprogramme, die das Ein- und Austragen von Benutzern mehr oder weniger automatisieren. Bei Caldera und RedHat ist es das Programm usercfg, bei Unifix und Linux-FT ist es xadmin, bei SuSE yast und bei wieder anderen sind es die Programme useradd, userdel, groupadd und groupdel, die mit der Shadow-Paßwort-Suite installiert werden. Die ersten der genannten Programme arbeiten mit grafischer Oberfläche und sind weitgehend selbsterklärend. Ansonsten können Sie Details zur Benutzung in den Manualpages nachlesen.

Der Vorgang bei der Einrichtung eines neuen User-Accounts ist bei allen Programmen im Prinzip gleich:
1.
es wird ein Eintrag in der Paßwortdatei /etc/passwd angelegt
2.
wenn nötig wird ein Eintrag in die Gruppendatei /etc/group erzeugt
3.
das Heimatverzeichnis wird erzeugt, eine ``Grundausstattung'' hineinkopiert und alles dem neuen User übereignet
4.
wenn nötig wird der User noch in weiteren Listen eingetragen, zum Beispiel für Disk-Quotas, Zugriffsberechtigung auf Datenbanken und spezielle Applikationen (z.B. minicom)

Alle Dateien, die beim Einrichten eines neuen Accounts bearbeitet werden, sind normale Textfiles. Sie können jeden Schritt ohne weiteres ``von Hand'' beziehungsweise mit Hilfe eines Texteditors durchführen.

Eintrag in /etc/passwd

 

Die zentrale Benutzerdatenbank ist die Datei /etc/passwd. In dieser Datei muß jeder Anwender aufgeführt sein, damit er sich einloggen kann.

Für jeden Anwender muß die Systemverwalterin hier eine Zeile mit sieben Feldern anlegen. Die Felder werden durch einen Doppelpunkt `:' voneinander getrennt. Sie haben folgende Bedeutung:

Benutzername:Paßwort:Benutzernummer:Gruppennummer:GCOS:Heimat:Shell

Bereits mit der Erstinstallation eines Linux-Systems sind in der Paßwortdatei eine Reihe von Einträgen enthalten. Die mit diesen Daten festgelegten Benutzerbereiche gehören nicht zu natürlichen Personen, sondern zu funktionalen Rollen des Systems. Die Pseudouser sind als Eigentümer von Dateien und Verzeichnissen hilfreich, um die mit dem Eigentum an Systemdaten verbundenen Zugriffsrechte flexibel an die speziellen Anforderungen anzupassen. Auf diese Weise sorgen die Accounts uucp für das UUCP-Datentransfersystem oder postgres für das gleichnamige Datenbanksystem dafür, daß auf die Daten, mit denen sie operieren, nur unter der Kontrolle entstprechender Serverprogramme zugegriffen werden kann.

Darüberhinaus können die Pseudouser noch dazu dienen, die unüberschaubare Masse der Systemdaten ein wenig zu ordnen. Diese Möglichkeit wird jedoch von den Linux-Distributoren nicht genutzt: mehr als 99% aller Systemdateien gehören ohne Notwendigkeit dem Superuser root.

Gruppenzwang

   

Das Betriebssystem unterstützt Gruppenarbeit indem es dem Eigentümer einer Datei erlaubt, die Zugriffrechte einer Benutzergruppe auf diese Datei frei festzulegen. Durch den oben beschriebenen Eintrag in der Datei /etc/passwd wird jeder User einer Benutzergruppe fest zugeordnet. Auf diese Weise wird festgelegt, zu welcher Gruppe die Dateien des Users bei deren Erzeugung gehören.

Jeder User kann zusätzlich noch weiteren Gruppen angehören. Diesen Gruppen kann er seine eigenen Dateien nach belieben zuordnen. Dabei ist jedoch zu beachten, daß jede Datei nur einer einzigen Gruppe gehören kann.

Ähnlich wie die Benutzeraccounts müssen auch die Gruppen dem Betriebssystem bekannt gemacht werden, bevor sie benutzt werden können. Das geschieht durch einen Eintrag in der Datei /etc/group.  Für jede Benutzergruppe existiert eine Zeile in dieser Datei. Jede Zeile besteht aus vier Feldern, die durch einen Doppelpunkt (`:') voneinander getrennt sind.

Für einen gültigem Eintrag muß mindestens das erste und dritte Feld (Gruppenname und Gruppennummer) vorhanden sein. Durch so einen Eintrag wird der Gruppennummer, die in der Paßwortdatei einem User zugeordnet wurde, ein Gruppenname gegeben. Dieser Name wird bei einem langen Listing vom Programm ls ausgegeben.

Die Felder für Paßwort und/oder Userliste müssen nur für die Gruppen ausgefüllt werden, deren Mitglieder mehr als einer Benutzergruppe angehören. Wenn ein User in einer oder mehr Userlisten aufgeführt ist, hat er automatisch die Zugriffsrechte dieser Gruppen, zusätzlich zu der Hauptgruppe, die in der Paßwortdatei eingetragen ist. Die Gruppenzugehörigkeit einer neu erzeugten Datei wird weiterhin durch die Hauptgruppe bestimmt. Der User kann seine eigenen Dateien mit Hilfe des Systemprogramms chgrp jeder Gruppe übereignen, in deren Userliste er eingetragen ist. Außerdem ermöglicht das Programm newgrp das vorübergehende Wechseln der Hauptgruppe.

Die in der Userliste eingetragenen Gruppenmitglieder werden nicht nach einem Paßwort gefragt, wenn sie mit dem newgrp-Kommando die  Hauptgruppe wechseln wollen. Anwender ohne Eintrag können sich mit einem Paßwort legitimieren, um die Rechte einer bestimmten Gruppe zu erhalten, wenn im zweiten Feld des Gruppeneintrags ein verschlüsseltes Paßwort eingetragen ist und das Programm newgrp diese Art der Authentifizierung unterstützt.

Weil Gruppenpaßwörter zwangsläufig ausgetauscht werden müssen, wird aus Gründen der Datensicherheit von der Verwendung dieser Methode abgeraten. Anstelle eines verschlüsselten Paßwortes sollte zur Absicherung ein Sperreintrag (z. B. VOID oder *) in das zweite Feld geschrieben werden.

Wie in der Paßwortdatei sind auch in der Gruppendatei bereits mehrere Gruppen eingerichtet, wenn Sie ein Linux-System neu installieren. Der Zweck dieser Gruppen entspricht dem der Pseudouser in /etc/passwd. Insbesondere für die Zugriffskontrolle auf die verschiedenen Gerätedateien in /dev werden einige Gruppen tatsächlich benutzt. Die Gruppenbezeichnungen disk, tty, daemon, mail u.s.w. erklären sich selbst. Die Gruppe wheel, die unter BSD alle User enthält, die das Systemprogramm su ausführen dürfen, wird von Linux in dieser Weise nicht unterstützt.

Wie bei der Paßwortdatei gibt es auch für die Gruppendatei eine Erweiterung durch das Shadow-Paßwortsystem. Die Gruppenpaßwörter, die in der normalen group Datei wie in passwd verschlüsselt, aber für alle User lesbar abgelegt sind, werden hier dort der separaten Datei /etc/gshadow gespeichert. Dort werden auch zusätzliche Informationen zur Gruppe festgehalten, beispielsweise der Name des zum Ein- und Austragen von Mitgliedern autorisierten Gruppenverwalters.

Das Heimatverzeichnis anlegen

 

Jedem natürlichen Benutzer muß durch den Eintrag in der Paßwortdatei ein Verzeichnis als eigener Bereich zugeordnet werden. Dieses Heimatverzeichnis trägt häufig den Namen des Benutzers und wird normalerweise als Unterverzeichnis von /home angelegt. Das Verzeichnis muß dem Benutzer und seiner Hauptgruppe gehören.

Wenn der Useraccount nicht durch eines der halbautomatischen Adminstrationsutilities erzeugt wird, muß das Verzeichnis von der Systemverwalterin mit dem Systemprogramm mkdir erzeugt und anschließend durch chown dem neuen Eigentümer ``geschenkt'' werden.

Häufig werden einem neuen User einige Dateien als Erstausstattung in sein Heimatverzeichnis kopiert. Eine Sammlung solcher Dateien befindet sich im Verzeichnis /etc/skel. Es handelt dabei Initialisierungsdateien für verschiedene Programme, zum Beispiel .bash_profile, .Xdefaults, .fvwmrc oder .emacs. Da die Namen dieser Dateien mit einem Punkt beginnen, werden sie bei einem Listing nur angezeigt, wenn die Option -a für alle benutzt wird. Die Dateien in /etc/skel sollten vor allem als Beispiel und Anregung für den User dienen.

Das folgende Beispiel zeigt die Kommandofolge zum Erzeugen eines neuen Heimatverzeichnisses:

# mkdir /home/dirk
# cp -a /etc/skel/{.[^.]*,*} /home/dirk
# chown -R dirk.users /home/dirk
# chmod 1700 /home/dirk
# _

Die Konstruktion {.[^.]*,*} wird von der bash ausgewertet und sorgt dafür, daß wirklich der gesamte Inhalt des Verzeichnisses kopiert wird. Die Dateien, deren Namen mit einem Punkt beginnen, werden von einem einfachen Sternchen nicht erfaßt. Die beiden Links . und .. zeigen auf das Verzeichnis selbst und sein übergeordnetes Verzeichnis und sollen deshalb nicht kopiert werden.

Durch die Änderung des Zugriffmodus auf den Wert 1700 wird das neue Heimaverzeichnis für die Gruppe und alle anderen Systembenutzer vollständig abgeschlossen. Das Löschen einer Datei aus diesem Verzeichnis ist nur dem Eigentümer möglich.

   


next up previous contents index
Next: Partitionen und Dateisysteme Up: Systemverwaltung Previous: Genauere Betrachtung der Datensicherheit

Das Linux Anwenderhandbuch
(C) 1997 LunetIX