Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Die Verwaltung der Benutzer-Accounts

Selbst wenn Sie das einzige menschliche Wesen sind, das Ihr Linux-System benutzt, ist es wichtig zu verstehen, wie Benutzer-Accounts (Zugangsberechtigungen) verwaltet werden. Dies gilt erst recht dann, wenn mehr als ein Benutzer auf dem System arbeitet.

Icon

Kapitel 4

Die Accounts auf Unix-Systemen erfüllen eine ganze Reihe von Aufgaben. An erster Stelle steht die Möglichkeit für das System, verschiedene Benutzer voneinander zu unterscheiden, um die Ideikation der Benutzer und die Systemsicherheit zu gewährleisten. Jeder Benutzer bekommt einen eigenen Account mit seinem eigenen Benutzernamen und Paßwort. Wie wir bereits im Abschnitt »Dateiberechtigungen« in Kapitel 4, Grundlegende Unix-Befehle und -Konzepte, besprochen haben, erhalten Benutzer die Möglichkeit, für ihre Dateien die Zugriffsrechte zu bestimmen und damit anderen Benutzern den Zugang zu gestatten oder zu verwehren. Jede Datei im System »gehört« einem bestimmten Benutzer, der die Zugriffsrechte für diese Datei verwaltet. Die Benutzer-Accounts dienen dazu, den Zugriff auf das System zu autorisieren - nur wer einen Account hat, bekommt Zugang zum Rechner. Außerdem dienen die Accounts der Identifikation der Benutzer, um zum Beispiel Benutzeraktionen in den Logdateien zu identifizieren, E-Mail-Nachrichten mit dem Namen des Absenders zu versehen usw.

Außer den persönlichen Accounts gibt es noch Benutzer auf dem System, die für administrative Funktionen zuständig sind. Wir haben bereits gesagt, daß der Account root nur vom Systemverwalter bei der Pflege des Systems benutzt werden sollte, aber nicht als persönlicher Account. Die administrativen Accounts erreicht man mit dem Befehl su, mit dem man anderen Account anspricht, nachdem man sich unter dem persönlichen Account eingeloggt hat.

Andere Accounts auf dem System sind gar nicht mit irgendeinem Benutzer verbunden. Solche Accounts dienen in der Regel den Dämonen, die unter einer bestimmten Benutzer-ID auf Dateien zugreifen müssen, ohne dazu den Account root oder einen der persönlichen Accounts zu benutzen. Ein Beispiel: Wenn Sie Ihr System so einrichten, daß Sie News-Artikel von einem anderen Rechner empfangen können, muß der News-Dämon die Artikel in einem Spool-Verzeichnis ablegen, auf das alle Benutzer lesenden, aber nur ein Benutzer (der News-Dämon) schreibenden Zugriff hat. Kein menschlicher Benutzer ist mit dem news-Account verbunden - es handelt sich um einen »imaginären« Benutzer nur für den News-Dämon.

Eines der Berechtigungsbits, die für ausführbare Dateien gesetzt werden können, ist das Bit setuid. Dieses Bit bewirkt, daß das Programm mit den Rechten des Dateieigners ausgeführt wird. Ein Beispiel: Wenn der Benutzer news Eigner des News-Dämons ist, und das Setuid-Bit ist für die ausführbare Datei gesetzt, wird der News-Dämon so ausgeführt, als ob er von news aufgerufen worden wäre. news hätte also Schreibrechte im News-Spool-Verzeichnis, und alle anderen Benutzer könnten lesend auf die dort gespeicherten Artikel zugreifen. Dies ist eine Sicherheitsmaßnahme. News-Programme können den Benutzern gerade das richtige Ausmaß an Zugang zum Spool-Verzeichnis für die News gewähren, aber niemand kann dort »einfach so« herumspielen.

Als Systemverwalter ist es Ihre Aufgabe, die Accounts für alle Benutzer (real und imaginär) auf Ihrem System anzulegen und zu verwalten. Dies ist zwar in den meisten Fällen eine problemlose, einfach zu erledigende Angelegenheit, aber es ist wichtig, daß Sie die Zusammenhänge verstehen.

Die Datei passwd

Jeder Account auf dem System hat einen Eintrag in der Datei /etc/passwd. Diese Datei enthält für jeden Benutzer eine Zeile, in der Attribute wie Benutzername, richtiger Name usw. festgehalten werden.

Die Einträge in dieser Datei haben das Format:

benutzername:paßwort:uid:gid:gecos:homeverz:shell
benutzername
Der Benutzername ist ein eindeutiger String, der den Account bezeichnet. Bei persönlichen Accounts ist dies der Name, unter dem der Benutzer einloggt. Auf den meisten Systemen ist die Länge auf acht Zeichen beschränkt, also zum Beispiel larry oder kirsten.
paßwort
Das Paßwort ist eine verschlüsselte Version des Benutzerpaßworts. Dieses Feld wird geschrieben, indem mit dem Programm passwd das Paßwort eines Benutzers gesetzt wird. Dabei wird ein Verschlüsselungsalgorithmus benutzt, der nur in einer Richtung arbeitet und schwierig (aber nicht unmöglich) zu knacken ist. Dieses Feld wird nicht von Hand geschrieben; passwd erledigt das für Sie. Beachten Sie aber, daß ein * (Stern) als erstes Zeichen im Paßwortfeld diesen Account »sperrt« - das System wird unter diesem Benutzernamen keinen Login zulassen. Lesen Sie auch den Abschnitt »Die Accounts einrichten«.
uid
uid ist die Benutzer-ID, eine eindeutige Integerzahl, mit der das System diesen Account ideiziert. Das System benutzt das uid-Feld intern bei der Verwaltung der Prozesse und Dateiberechtigungen - mit einem Integerwert geht das einfacher und schneller als mit einem String. Sowohl uid als auch benutzername bezeichnen also einen bestimmten Account; für das System ist UID wichtiger, für den Benutzer ist es bequemer, mit dem Feld benutzername zu arbeiten.
gid
gid ist die Gruppen-ID, eine Integerzahl, die die voreingestellte Gruppe des Benutzers bezeichnet. Diese Gruppen-IDs sind in der Datei /etc/group aufgeführt. Lesen Sie den Abschnitt »Die Datei group« weiter unten.
gecos
Das Feld gecos enthält diverse Informationen über den Benutzer, etwa seinen richtigen Namen und optionale »lokale Informationen« wie die Büroadresse oder Telefonnummer. Diese Informationen werden von Programmen wie mail und finger benutzt, um den Benutzer zu ideizieren; wir gehen weiter unten genauer darauf ein. Übrigens ist gecos ein traditioneller Name, der aus den 70ern stammt; er steht für General Electric Comprehensive Operating System. gecos hat nichts mit Unix zu tun, abgesehen davon, daß man dieses Feld in /etc/passwd eingefügt hat, um die Kompatibilität mit einigen Unix-Diensten zu erhalten.
homeverz
homeverz bezeichnet das Home-Verzeichnis des Benutzers, das für seinen persönlichen Gebrauch bestimmt ist; mehr dazu erfahren Sie weiter unten. Wenn ein Benutzer einloggt, benutzt seine Shell homeverz als das aktuelle Verzeichnis.
Shell
Die Shell gibt an, welches Programm gestartet werden soll, wenn ein Benutzer einloggt; in den meisten Fällen ist das der komplette Pfadname der Shell, etwa /bin/bash oder /bin/tcsh.

Einige der hier gezeigten Felder sind optional; absolut notwendig sind nur die Felder benutzername, uid, gid und homeverz. Für die meisten Benutzer-Accounts werden alle diese Felder ausgefüllt sein, aber »imaginäre« und Verwaltungs-Accounts benutzen eventuell nur einen Teil der Felder.

Hier zeigen wir zwei Beispieleinträge, wie sie in /etc/passwd stehen könnten:

root:ZxPsI9ZjiVd9Y:0:0:The root of all evil:/root:/bin/bash aclark:BjDf5hBysDsii:104:50:Anna Clark:/home/aclark:/bin/bash

Der erste Eintrag ist der für den Account root. Beachten Sie, daß die uid von root null ist. Genau das ist es, was root zu root macht - das System weiß, daß die uid null etwas »Besonderes« ist und daß die üblichen Sicherheitsmaßnahmen nicht angewendet werden. Die gid von root ist ebenfalls null, was sich als Konvention eingebürgert hat. Viele der Dateien im System gehören root und der Gruppe root, die als uid und gid eine Null haben. Mehr zum Thema Gruppen erfahren Sie später.

Icon

Kapitel 4

Auf vielen Systemen benutzt root das Home-Verzeichnis /root oder einfach /. Dies spielt in der Regel keine Rolle, weil Sie root meistens mit su von Ihrem persönlichen Account aus benutzen. Meistens wird für den root-Account eine Version der Bourne-Shell eingetragen (in diesem Fall /bin/bash), aber natürlich können Sie auch eine C-Shell benutzen. (Wir besprechen Shells im Abschnitt »Shells« in Kapitel 4.) Seien Sie aber vorsichtig - Bourne- und C-Shell haben eine unterschiedliche Syntax, und wenn Sie als root zwischen den beiden wechseln, kann das verwirrend sein und zu Fehlern führen.

Der zweite Eintrag ist der eines menschlichen Wesens mit dem Benutzernamen aclark. Die UID ist in diesem Fall 104. Das UID-Feld kann, technisch gesehen, jegliche eindeutige Integerzahl enthalten. Auf vielen Systemen werden die Benutzer-Accounts üblicherweise ab 100 durchnumeriert, und die administrativen Accounts haben Nummern kleiner als 100. Die GID ist 50, was nichts weiter bedeutet, als daß aclark der Gruppe angehört, die in der Datei /etc/group die Nummer 50 hat. Bleiben Sie dran - im Abschnitt »Die Datei group« später in diesem Kapitel werden wir Gruppen besprechen.

Die Home-Verzeichnisse stehen oft in /home und werden mit dem Benutzernamen des Eigners benannt. In der Regel ist das eine ganz nützliche Übereinkunft, die dazu beiträgt, daß das Home-Verzeichnis eines bestimmten Benutzers leicht zu finden ist. Theoretisch kann ein Home-Verzeichnis aber an beliebiger Stelle im System stehen. Sie sollten sich allerdings an die Anordnung der Verzeichnisse halten, die Sie auf Ihrem System vorfinden.

Beachten Sie, daß Sie als Systemverwalter die Datei /etc/passwd nur selten direkt editieren müssen. Es gibt eine Reihe von Programmen, die Ihnen bei der Einrichtung und Pflege der Benutzer-Accounts helfen. Lesen Sie dazu den Abschnitt »Die Accounts einrichten« weiter unten.

Shadow-Paßwörter

Es ist ein gewisses Sicherheitsrisiko, die Paßwortdatei lesbar zu lassen. Jeder, der Zugang zum System hat, kann die verschlüsselten Paßwörter in /etc/passwd lesen. Es gibt spezielle Entschlüsselungsprogramme, die eine riesige Menge möglicher Paßwörter ausprobieren und vergleichen, ob die verschlüsselte Version gleich einem Paßwort in der Datei ist.

Um dieses mögliche Sicherheitsrisiko zu vermeiden, sind Shadow-Paßwörter erfunden worden. Wenn diese verwendet werden, enthalten die Paßwort-Felder in /etc/passwd nur einen * oder ein x, was nie die verschlüsselte Version eines Paßwortes sein kann. Statt dessen wird eine zweite Datei namens /etc/shadow verwendet. Diese Datei enthält Einträge, die denen in /etc/passwd sehr ähnlich sehen, aber das wirkliche verschlüsselte Paßwort enthalten. /etc/passwd ist nur für root lesbar, so daß einfache Benutzer keinen Zugriff auf die verschlüsselten Paßwörter haben. Die anderen Felder in /etc/shadow, außer dem Benutzernamen und dem Paßwort, gibt es auch, aber sie enthalten normalerweise irgendwelchen Müll oder sind leer.

Beachten Sie, daß Sie spezielle Versionen der Programme, die auf Benutzerinformationen zugreifen oder diese verändern - wie passwd oder login -, brauchen, um Shadow-Paßwörter verwenden zu können. Heutzutage richten die meisten Distributionen gleich bei der Installation Shadow-Paßwörter ein, so daß dies kein Problem für Sie sein sollte.

Es gibt zwei Werkzeuge, um »normale« Benutzereinträge in »Shadow-Einträge« und zurück zu konvertieren. pwconv nimmt sich die Datei /etc/passwd vor, sucht nach Einträgen, die es in /etc/shadow noch nicht gibt, erzeugt Shadow-Einträge für diese und fügt sie den bereits in /etc/shadow vorhandenen hinzu.

Benutzer der Debian-Distribution sollten statt dessen »shadowconfig on« verwenden, um sicherzustellen, daß auf ihrem System Shadow-Paßwörter verwendet werden.

pwunconv wird selten verwendet, weil es die Sicherheit herabsetzt, anstatt sie zu erhöhen. Es funktioniert wie pwconv, erzeugt aber herkömmliche /etc/passwd-Einträge aus /etc/shadow-Einträgen.

PAM und andere Methoden der Autheizierung

Sie denken vielleicht, daß Sie mit zwei Verfahren zur Benutzerautheizierung, /etc/passwd und /etc/shadow, bereits genug Auswahl haben, aber wir sind noch lange nicht am Ende. Es gibt eine Reihe weiterer Authentifizierungsmethoden mit merkwürdigen Namen wie Kerberos-Authentifizierung (benannt nach dem Hund aus der griechischen Mythologie, der den Eingang zum Hades bewacht). Wir sind zwar der Meinung, daß Shadow-Paßwörter für die meisten Anwendungsfälle sicher genug sind, aber es kommt ganz darauf an, wieviel Sicherheit Sie benötigen und wie paranoid Sie sein wollen.

Das Problem bei all diesen Autheizierungsmethoden liegt darin, daß Sie nicht einfach von einer zur anderen wechseln können, weil Sie immer einen neuen Satz von Programmen wie login und passwd benötigen, die zu diesen Methoden gehören. Um dieses Problem zu umgehen, ist das System der Pluggable Authentification Methods (PAM) erfunden worden. Wenn Sie einmal einen Satz PAM-Werkzeuge haben, können Sie die Authentifizierungsmethode Ihres Systems durch Umkonfigurieren von PAM ändern. Die Programme holen sich dann automatisch den zur jeweiligen Authentifizierungsmethode notwendigen Code aus dynamischen Bibliotheken.

Das Einrichten und Benutzen von PAM würde den Rahmen dieses Buches sprengen, aber Sie bekommen alle Informationen, die Sie benötigen, unter http://www.de.kernel.org/pub/linux/libs/pam/ .

Die Datei group

Die Gruppen bieten eine einfache Methode, Benutzer-Accounts logisch zusammenzufassen, und machen es möglich, daß Benutzer innerhalb ihrer Gruppe(n) Dateien gemeinsam benutzen. Jeder Datei auf dem System ist sowohl ein Eigner als auch eine Gruppe zugeordnet. Mit ls -l können Sie Eigner und Gruppe einer Datei anzeigen lassen:

rutabaga% ls -l boiler.tex -rwxrw-r-- 1 mdw megabozo 10316 Oct 6 20:19 boiler.tex rutabaga%

Diese Datei gehört dem Benutzer mdw und der Gruppe megabozo. Die Dateiberechtigungen zeigen, daß mdw das Lese- und Schreibrecht auf dieser Datei hat und sie ausführen kann, daß die Mitglieder der Gruppe megabozo lesenden und schreibenden Zugriff haben und daß alle anderen Benutzer nur lesend auf diese Datei zugreifen können.

Dies muß nicht bedeuten, daß mdw Mitglied der Gruppe megabozo ist - es bedeutet lediglich, daß jeder, der zur Gruppe megabozo gehört, die Berechtigungen auf dieser Datei bekommt, die von den Berechtigungsbits dargestellt werden. mdw könnte Mitglied dieser Gruppe sein - oder auch nicht.

Icon

Kapitel 4

Auf diese Art und Weise lassen sich Dateien von Benutzergruppen gemeinsam nutzen, während sich die Berechtigungen für den Eigner der Datei, für die Gruppe, der die Datei gehört, sowie für alle anderen Benutzer getrennt definieren lassen. Eine Einführung in das Thema Berechtigungen finden Sie im Abschnitt »Dateiberechtigungen« von Kapitel 4.

Jeder Benutzer gehört mindestens einer Gruppe an, die im Feld gid der Datei /etc/passwd benannt ist. Allerdings kann ein Benutzer auch mehreren Gruppen angehören. Die Datei /etc/group enthält für jede Gruppe auf dem System einen einzeiligen Eintrag, ähnlich dem in /etc/passwd. /etc/group hat folgendes Format:

gruppenname:paßwort:gid:mitglieder

Der gruppenname ist ein String; dieser Name wird auch von Befehlen wie ls -l angezeigt.

Das paßwort ist ein optionales Paßwort für diese Gruppe. Damit können auch Benutzer, die nicht Mitglied der Gruppe sind, mit dem Befehl newgrp auf die Dateien dieser Gruppe zugreifen. Lesen Sie weiter, wir kommen gleich darauf zurück.

gid ist die Gruppen-ID, mit der das System diese Gruppe bezeichnet. Dies entspricht der Nummer im Feld gid der Datei /etc/passwd, die die voreingestellte Gruppenzugehörigkeit eines Benutzers angibt.

Das Feld mitglieder ist eine durch Kommata getrennte Liste mit Benutzernamen (ohne Leerzeichen dazwischen). Die Liste enthält alle Benutzer, die zu dieser Gruppe gehören, aber im Feld gid der Datei /etc/passwd eine andere Nummer haben. Das bedeutet, daß in dieser Liste diejenigen Benutzer nicht enthalten sind, für die diese Gruppen-ID in /etc/passwd die »Voreinstellung« ist - hier stehen nur die zusätzlichen Mitglieder der Gruppe.

/etc/group könnte beispielsweise so aussehen:

root:*:0: bin:*:1:root,daemon users:*:50: bozo:*:51:linus,mdw megabozo:*:52:kibo

Die Einträge für die Gruppen root und bin sind Einträge für administrative Gruppen, ähnlich den »imaginären« Accounts auf dem System. Gruppen wie root und bin sind die Eigner vieler Dateien auf dem System. Die anderen Gruppen enthalten Benutzer-Accounts. Ähnlich wie Benutzer-IDs werden auch die Gruppen-IDs oft von 50 oder 100 an hochgezählt.

Das Feld paßwort der Datei group ist eine echte Kuriosität. Es wird nicht sehr häufig benutzt, aber zusammen mit dem Programm newgrp können auch solche Benutzer, die nicht Mitglied einer bestimmten Gruppe sind, die ID dieser Gruppe annehmen, sofern sie das Paßwort kennen. Mit dem Befehl

rutabaga% newgrp bozo Password: paßwort der gruppe bozo rutabaga%

starten Sie eine neue Shell mit der Gruppen-ID von bozo. Falls das Feld paßwort leer oder das erste Zeichen ein Sternchen ist, erhalten Sie die Fehlermeldung permission denied, wenn Sie versuchen, mittels newgrp Zugang zu dieser Gruppe zu finden.

Allerdings wird das Paßwortfeld in der Datei group nur selten benutzt und eigentlich auch gar nicht benötigt. (Viele Systeme kennen gar keinen Befehl, mit dem sich ein Gruppenpaßwort setzen ließe. Als Ausweg könnte man mit passwd ein Paßwort für einen fiktiven Benutzer mit dem gleichen Namen wie die Gruppe in /etc/passwd erzeugen und dieses verschlüsselte Paßwort dann nach /etc/group kopieren.) Statt dessen können Sie einen Benutzer aber auch als Mitglied mehrerer Gruppen eintragen, indem Sie einfach seinen Namen in das Feld mitglieder dieser Gruppen einfügen. In diesem Beispiel sind die Benutzer linus und mdw Mitglieder der Gruppe bozo sowie aller Gruppen, denen sie in der Datei /etc/passwd zugeordnet sind. Damit linus außerdem Mitglied der Gruppe megabozo wird, würden wir die letzte Zeile des Beispiels folgendermaßen abändern:

megabozo:*:52:kibo,linus

Mit dem Befehl groups erfahren Sie, welchen Gruppen Sie angehören:

rutabaga% groups users bozo

Wenn Sie mit groups eine Liste von Benutzernamen angeben, bekommen Sie alle Gruppen angezeigt, zu denen die Benutzer in dieser Liste gehören.

Beim Einloggen wird Ihnen automatisch die Gruppen-ID aus /etc/passwd zugeordnet, dazu alle eventuell vorhandenen Gruppen-IDs, denen Sie in /etc/group zugeordnet sind. Das bedeutet, daß Sie die »Gruppenberechtigung« für alle Dateien auf dem System haben, deren Gruppen-ID in Ihrer Liste enthalten ist. In diesem Fall erhalten Sie die Berechtigungen, die von den Gruppenbits vorgegeben sind (mit dem Befehl chmod g+...). (Falls Sie nicht der Eigner sind; in dem Fall gelten die Bits, die die Berechtigungen des Eigners angeben.)

Da Sie jetzt mit den Feinheiten der Gruppen vertraut sind, stellt sich die Frage, wie Sie die Gruppen anlegen sollten. Dies ist eine Frage des persönlichen Stils und hängt davon ab, wie das System genutzt werden soll. Für Systeme mit einem oder nur wenigen Benutzern empfiehlt sich eine einzelne Gruppe (zum Beispiel mit dem Namen users), zu der alle persönlichen Accounts gehören. Wahrscheinlich ist es am besten, die Systemgruppen - diejenigen, die nach der Installation in /etc/group enthalten sind - so zu belassen. Es ist möglich, daß verschiedene Dämonen und Programme darauf zugreifen.

Mit vielen Benutzern auf einem System gibt es verschiedene Methoden, die Gruppen einzuteilen. Eine Lehranstalt könnte zum Beispiel getrennte Gruppen für Studenten, Assistenten und Lehrkörper einrichten. Ein Softwarehaus könnte eine Gruppe für jedes Entwicklerteam anlegen. Auf anderen Systemen wird jedem Benutzer eine eigene Gruppe zugeordnet, die den Benutzernamen als Gruppennamen bekommt. Das hält sozusagen jede Taube in ihrem eigenen Schlag und ermöglicht es den Benutzern, bestimmten anderen Gruppen den Zugriff auf die eigenen Dateien zu gewähren. Allerdings erfordert es meistens den Eingriff des Systemverwalters, wenn ein Benutzer Mitglied einer weiteren Gruppe werden soll (indem /etc/group editiert wird; auf Debian-Systemen gibt es dafür den Befehl gpasswd). Die Entscheidung liegt ganz bei Ihnen.

Es gibt noch eine Situation, in der Gruppen oft verwendet werden: spezielle Hardwaregruppen. Nehmen wir an, daß Sie einen Scanner haben, auf den Sie über /dev/scanner zugreifen. Wenn Sie nicht wollen, daß jeder diesen Scanner benutzen kann, könnten Sie eine besondere Gruppe namens scanner einrichten, /dev/scanner dieser Gruppe zuweisen und die Gerätedatei für die Gruppe lesbar und für alle anderen nicht-lesbar machen. Jeder, der den Scanner benutzen darf, wird dann der Gruppe hinzugefügt.

Die Accounts einrichten

Das Einrichten eines Benutzer-Accounts erfolgt in mehreren Schritten: Fußnoten 1 Es muß ein Eintrag in /etc/passwd erfolgen, das Home-Verzeichnis muß angelegt und die Konfigurationsdateien (zum Beispiel .bashrc) müssen darin eingerichtet werden. Glücklicherweise brauchen Sie diese Schritte nicht von Hand vorzunehmen; fast alle Linux-Systeme enthalten ein Programm namens adduser für diesen Zweck.

Beim Aufruf von adduser als root sollte folgendes passieren. Geben Sie einfach am Prompt die jeweils gewünschte Information ein - an vielen Stellen werden sinnvolle Vorgaben gemacht, die Sie mit ENTER übernehmen können.

Adding a new user. The username should not exceed 8 characters in length, or you may run into problems later. Enter login name for new account (^C to quit): norbert Editing information for new user [norbert] Full Name: Norbert Ebersol GID [100]: 117 Checking for an available UID after 500 First unused uid is 501 UID [501]: (Enter) Home Directory [/home/norbert]: (Enter) Shell [/bin/bash]: (Enter) Password [norbert]: (Norberts Paßwort) Information for new user [norbert]: Home directory: [/home/norbert] Shell: [/bin/bash] Password: [(Norberts Paßwort)] uid: [501] gid: [51] Is this correct? [y/N]: y Adding login [norbert] and making directory [/home/norbert] Adding the files from the /etc/skel directory: ./.emacs -> /home/norbert/./.emacs ./.kermrc -> /home/norbert/./.kermrc ./.bashrc -> /home/norbert/./.bashrc Hierbei sollte es keine Überraschungen geben. Machen Sie die nötigen Angaben, oder bestätigen Sie die Vorgaben. Wie Sie sehen, hat adduser als Gruppe den Wert 100 voreingestellt und sucht die erste freie Benutzer-ID oberhalb von 500 (500 ist das Minimum bei SuSE und Red Hat, Debian verwendet 1000). Es sollte keine Probleme geben, wenn Sie diese Vorgaben übernehmen. In diesem Beispiel haben wir die Gruppen-ID auf 117 gesetzt und als Benutzer-ID die 501 bestätigt.

Nachdem der Account angelegt ist, werden die Dateien aus /etc/skel in das Home-Verzeichnis des Benutzers kopiert. In /etc/skel stehen die »Rumpf«-Dateien (»skeleton« files) für einen neuen Account; dies sind Konfigurationsdateien (etwa .emacs und .bashrc) mit Voreinstellungen für die neuen Benutzer. Sie können hier weitere Dateien unterbringen, die alle neuen Benutzer erhalten sollen.

Nach diesem Schritt ist der neue Account arbeitsfähig - norbert kann sich mit dem Paßwort einloggen, das mittels adduser gesetzt wurde. Neue Benutzer sollten nach dem ersten Einloggen auf jeden Fall mit passwd ihr Paßwort ändern, um die Sicherheit ihres Accounts zu bewahren.

root kann das Paßwort für alle Benutzer des Systems ändern. Ein Beispiel:

passwd norbert

Icon

Kapitel 8

fragt nach einem neuen Paßwort für norbert, ohne daß das alte Paßwort angegeben werden muß. Allerdings brauchen Sie dazu das Root-Paßwort. Falls Sie dieses einmal vergessen haben, bleibt Ihnen noch die Möglichkeit, Linux im Single-User-Modus mit einer Root-Shell oder von einer »Rettungsdiskette« zu booten. Anschließend können Sie das Paßwortfeld des root-Eintrags in /etc/passwd löschen. Lesen Sie hierzu den Abschnitt »Die Rettung in der Not« in Kapitel 8.

Einige Linux-Systeme enthalten das befehlszeilenorientierte Programm useradd statt des interaktiven adduser. useradd erwartet alle nötigen Angaben als Argumente auf der Befehlszeile. Falls Sie adduser auf Ihrem System nicht finden und mit useradd Probleme haben, sollten Sie die Manpages lesen.

Accounts löschen und stillegen

Das Löschen eines Benutzer-Accounts ist viel einfacher als das Einrichten; dabei findet das bekannte Konzept der Entropie Anwendung. Um einen Account zu löschen, müssen Sie den Eintrag des Benutzers aus /etc/passwd entfernen, alle Verweise auf diesen Benutzer in /etc/group löschen und das Home-Verzeichnis sowie alle Dateien entfernen, die der Benutzer erstellt hat oder deren Eigner er ist. Wenn der Benutzer zum Beispiel eine Mailbox für eingehende Nachrichten in /var/spool/ mail hat, muß auch diese entfernt werden.

Der Befehl userdel (das Yin zum Yang useradd) löscht einen Account und das dazugehörige Home-Verzeichnis. Ein Beispiel:

userdel -r norbert

entfernt den oben angelegten Account für norbert. Die Option -r sorgt zwar dafür, daß das Home-Verzeichnis entfernt wird, aber andere Dateien des Benutzers - etwa die Mailbox, crontab-Dateien usw. - müssen von Hand gelöscht werden. In der Regel sind solche Dateien so klein, daß man sie auch stehenlassen könnte. Am Ende dieses Kapitels werden Sie erfahren haben, wo sich solche Dateien befinden, wenn es sie gibt. Eine schnelle Methode, die Dateien eines bestimmten Benutzers zu finden, ist der Befehl:

find / -user benutzername -ls

Damit erhalten Sie eine Auflistung wie mit ls -l, die alle Dateien von benutzername anzeigt. Natürlich muß dazu der Account für benutzername noch in /etc/passwd eingetragen sein. Falls Sie den Account schon gelöscht haben, können Sie statt dessen das Argument -uid num benutzen, wobei num der numerische Wert der Benutzer-ID des soeben verschiedenen Benutzers ist.

Es ist noch viel einfacher, einen Account aus irgendeinem Grunde vorübergehend (oder auch dauerhaft) stillzulegen. Sie können dazu entweder den Eintrag des Benutzers in /etc/passwd löschen (und seine Dateien sowie das Home-Verzeichnis stehenlassen) oder einen Stern als erstes Zeichen in das Paßwortfeld des entsprechenden Eintrags in /etc/passwd schreiben:

aclark:*BjDf5hBysDsii:104:50:Anna Clark:/home/aclark:/bin/bash

Damit sind keine Logins unter dieser Zugangsberechtigung mehr möglich.

Accounts ändern

Eine Änderung der Benutzer-Accounts und -gruppen geschieht in der Regel durch das Editieren der Dateien /etc/passwd und /etc/group. Viele Systeme enthalten auch Befehle wie usermod und groupmod für denselben Zweck, aber oft ist es einfacher, die Dateien von Hand zu bearbeiten.

Die Änderung eines Paßwortes geschieht am besten mit dem Befehl passwd, der das Paßwort erfragt, es verschlüsselt und das verschlüsselte Ergebnis in der Datei /etc/passwd ablegt.

Wenn Sie die Benutzer-ID eines bestehenden Accounts ändern möchten, können Sie natürlich das UID-Feld in /etc/passwd direkt editieren. Allerdings sollten Sie gleichzeitig mit chown die Dateiberechtigungen der Dateien dieses Benutzers auf die neue UID übertragen. Ein Beispiel:

chown -R aclark /home/aclark

vergibt die Eignerrechte an allen Dateien in dem Home-Verzeichnis, das von aclark benutzt wurde, wieder an aclark, nachdem Sie die UID für diesen Account geändert haben. Wenn ls -l eine numerische Benutzer-ID statt eines Namens ausgibt, weist dies darauf hin, daß mit der UID dieser Dateien kein Benutzername verbunden ist. Mit chown können Sie das ändern.

 Fußnoten 1
Beachten Sie, daß manche Linux-Systeme wie Red Hat oder SuSE andere Werkzeuge zum Anlegen und Löschen von Accounts verwenden. Wenn die einzugebenden Befehle in diesem Abschnitt bei Ihnen nicht funktionieren, lesen Sie in der Dokumentation zu Ihrer Distribution nach. (Bei Red Hat werden Accounts mit dem control-panel-Werkzeug verwaltet, bei SuSE mit YaST. Debian enthält ein nichtinteraktives adduser-Programm, das die Benutzer anhand der Konfigurationsdatei /etc/adduser.conf einrichtet.) Außerdem gibt es graphische Benutzerverwaltungsprogramme wie etwa kuser aus dem KDE-Projekt (siehe Kapitel 11, Die X Arbeitsoberfläche anpassen).


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag