Red Hat Linux 7.0: Das Offizielle Red Hat Linux Referenzhandbuch | ||
---|---|---|
Zurück | Kapitel 2 Systemadministration | Vor |
Die Verwaltung von Benutzern und Gruppen ist schon immer ziemlich mühsam gewesen. Red Hat Linux bietet hier einige Tools und Konventionen, mit denen Sie Benutzer und Gruppen leichter verwalten können.
Am besten lassen sich Benutzer und Gruppen mit linuxconf verwalten (siehe Kapitel 3). Sie können aber auch den Befehl useradd verwenden, um von der Befehlszeile aus einen neuen Benutzer zu erstellen.
Als Nächstes wollen wir die grundlegenden Prinzipien bei der Verwaltung von Benutzern und Gruppen näher betrachten.
Tabelle 2-1 zeigt die Standardbenutzer, die während des Installationsvorgangs eingerichtet werden (entspricht im Prinzip dem Inhalt der Datei /etc/passwd). Die Gruppen-ID (GID) in der Tabelle gibt die Hauptgruppe des Benutzers an. Nähere Einzelheiten über die Verwendung von Gruppen finden Sie in Abschnitt namens Benutzereigene Gruppen.
Tabelle 2-1 Standardbenutzer
Benutzer | UID | GID | Home-Verzeichnis | Shell |
---|---|---|---|---|
root | 0 | 0 | /root | /bin/bash |
bin | 1 | 1 | /bin | |
daemon | 2 | 2 | /sbin | |
adm | 3 | 4 | /var/adm | |
lp | 4 | 7 | /var/spool/lpd | |
sync | 5 | 0 | /sbin | /bin/sync |
shutdown | 6 | 0 | /sbin | /sbin/shutdown |
halt | 7 | 0 | /sbin | /sbin/halt |
8 | 12 | /var/spool/mail | ||
news | 9 | 13 | /var/spool/news | |
uucp | 10 | 14 | /var/spool/uucp | |
operator | 11 | 0 | /root | |
games | 12 | 100 | /usr/games | |
gopher | 13 | 30 | /usr/lib/gopher-data | |
ftp | 14 | 50 | /var/ftp | |
nobody | 99 | 99 | / |
Tabelle 2-2 zeigt die Standardgruppen, die während des Installationsvorgangs eingerichtet werden (entspricht im Prinzip dem Inhalt der Datei /etc/group).
Tabelle 2-2 Standardgruppen
Gruppe | GID | Mitglieder |
---|---|---|
root | 0 | root |
bin | 1 | root, bin, daemon |
daemon | 2 | root, bin, daemon |
sys | 3 | root, bin, adm |
adm | 4 | root, adm, daemon |
tty | 5 | |
disk | 6 | root |
lp | 7 | daemon, lp |
mem | 8 | |
kmem | 9 | |
wheel | 10 | root |
12 | ||
news | 13 | news |
uucp | 14 | uucp |
man | 15 | |
games | 20 | |
gopher | 30 | |
dip | 40 | |
ftp | 50 | |
nobody | 99 | |
users | 100 |
Red Hat Linux verwendet benutzereigene Gruppen (UPG, User Private Groups). Damit wird die Benutzung von Unix-Gruppen wesentlich vereinfacht. UPG bringt keine Zusätze oder Änderungen in Bezug auf die standardmäßige Behandlung von Gruppen unter Unix. Vielmehr wird eine neue Konvention für die Handhabung von Gruppen eingeführt. Bei jedem Erstellen eines neuen Benutzers wird diesem standardmäßig eine eigene Gruppe zugeordnet. Hier das Prinzip:
Jeder Benutzer hat seine eigene Hauptgruppe, in der er das einzige Mitglied ist.
Die herkömmliche Unix-umask ist 022. Damit wird verhindert, dass andere Benutzer und andere Mitglieder der Hauptgruppe eines Benutzers die Dateien eines Benutzers bearbeiten. Bei UPG hat jeder Benutzer seine eigene Gruppe, und daher wird solch ein "Gruppenschutz" nicht mehr benötigt. Damit Benutzer nicht die privaten Dateien anderer Benutzer bearbeiten können, wird in /etc/profile die umask auf 002 gesetzt.
Wenn Sie das setgid-Bit für ein Verzeichnis setzen (mit chmod g+s Verzeichnisname), werden die in diesem Verzeichnis erstellten Dateien der Gruppe des Verzeichnisses zugeordnet.
Meistens wird in einer EDV-Abteilung für jedes größere Projekt eine Gruppe erstellt, und den entsprechenden Gruppen werden dann die Benutzer zugeordnet. Trotzdem war die Dateiverwaltung oft problematisch, denn wenn ein Benutzer eine Datei erstellt, wird die Hauptgruppe des Erstellers zum Eigentümer dieser Datei. Wenn ein einzelner Benutzer an mehreren Projekten arbeitet, ist es nicht einfach, die mit dem Projekt verbundene Gruppe zum Eigentümer der Dateien zu machen. Bei UPG werden Gruppen entsprechend dem jeweiligen Projekt automatisch mit Dateien verknüpft. Dadurch wird die Verwaltung von Gruppenprojekten sehr einfach.
Angenommen, Sie haben ein großes Projekt namens entwicklung, bei dem viele Benutzer die Dateien im Verzeichnis entwicklung bearbeiten. Erstellen Sie eine Gruppe mit der Bezeichnung entwicklung, fügen Sie das Verzeichnis entwicklung (chgrp entwicklung) und alle Benutzer des Projekts der Gruppe entwicklung hinzu. Jetzt können alle Benutzer des Projekts die Dateien im Verzeichnis entwicklung bearbeiten und neue Dateien erstellen. Diese Dateien sind dauerhaft der Gruppe entwicklung zugeordnet und können daher jederzeit von anderen Benutzern desselben Projekts bearbeitet werden.
Wenn die Benutzer an mehreren Projekten wie entwicklung arbeiten, brauchen sie beim Wechsel zwischen den Projekten ihre umask oder Gruppe nicht zu ändern. Das setgid-Bit im Hauptverzeichnis des jeweiligen Projekts "wählt" die richtige Gruppe.
Da ein Benutzer und seine eigene Gruppe stets Eigentümer des Home-Verzeichnisses dieses Benutzers sind, kann das SGID-Bit ohne Bedenken für das Home-Verzeichnis gesetzt werden. Da aber Dateien bei Ihrer Erstellung standardmäßig der Hauptgruppe des Benutzers zugeordnet werden, ist das SGID-Bit in diesem Fall redundant.
Obwohl UPGs nicht ganz neu in Red Hat Linux 7.0 sind, haben viele Benutzer immer noch Fragen zu diesem Thema, z.B. warum UPG überhaupt notwendig ist. Im Folgenden wird das Grundprinzip dargestellt.
Eine Arbeitsgruppe soll Dateien bearbeiten, z.B. im Verzeichnis /usr/lib/emacs/site-lisp. Sie möchten vermeiden, dass bestimmte Mitarbeiter dabei aus Unkenntnis Schaden anrichten.
Also geben Sie Folgendes ein:
chown -R root.emacs /usr/lib/emacs/site-lisp |
Damit die Benutzer Dateien im Verzeichnis erstellen können, geben Sie Folgendes ein:
chmod 775 /usr/lib/emacs/site-lisp |
Wenn ein Benutzer jedoch eine neue Datei anlegt, wird sie der Standardgruppe des Benutzers zugeordnet (meistens users). Um das zu verhindern, geben Sie Folgendes ein:
chmod 2775 /usr/lib/emacs/site-lisp |
Damit andere Benutzer in der Gruppe "emacs" die neue Datei bearbeiten können, muss der Modus 664 eingestellt werden. Setzen Sie dazu die Standard-umask auf 002.
Das funktioniert so weit ganz gut. Wenn Ihre Standardgruppe "users" ist, kann allerdings jede von Ihnen im Home-Verzeichnis erstellte Datei von jedem Mitglied der Gruppe "users" überschrieben werden (in der Regel also von allen Benutzern).
Um das zu ändern, ordnen Sie jedem Benutzer eine "benutzereigene Gruppe" als Standardgruppe zu.
An dieser Stelle können Sie durch das Setzen der Standard-umask auf 002 und das Zuordnen von benutzereigenen Standardgruppen zu allen Benutzern auf einfache Art und Weise Gruppen erstellen, die den Benutzern sehr nützlich sein können. Erstellen Sie einfach die Gruppe, fügen Sie die Benutzer hinzu, und wenden Sie die oben genannten Befehle chown und chmod auf die Gruppenverzeichnisse an.