Benutzereigene Gruppen

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. Beim Erstellen eines neuen Benutzers wird diesem standardmäßig eine eigene Gruppe zugeordnet. Hier das Prinzip:

Benutzereigene Gruppen

Jeder Benutzer hat eine eigene Hauptgruppe, in der er das einzige Mitglied ist.

umask = 002

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.

setgid bit für Verzeichnisse

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 bisher 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 devel, bei dem viele Benutzer die Dateien im Verzeichnis devel bearbeiten.Erstellen Sie eine Gruppe mit der Bezeichnung devel, fügen Sie das Verzeichnis devel (chgrp devel) und alle Benutzer des Projekts der Gruppe devel hinzu.

Mit Linuxconf können Sie einen Benutzer zu einer Gruppe hinzufügen (siehe Offizielles Red Hat Linux Handbuch Benutzerdefinierte Konfiguration). Wenn Sie für die Erstellung einer Gruppe lieber die Befehlszeile verwenden, geben Sie den Befehl /usr/sbin/groupadd Gruppenname. Mit dem Befehl /usr/bin/gpasswd -a loginname groupname wird ein Login-Name eines Benutzers zu eine Gruppe hinzugefügt (in den man-Seiten groupadd und gpasswd finden Sie mehr Informationen über diese Optionen). Die Datei /etc/group enthält Informationen über die Gruppen Ihres Sytems.

Wenn Sie die Gruppe devel erstellt haben, Benutzer zu der Gruppe devel hinzugefügt haben, die Gruppe für das Verzeichnis devel in der Gruppe devel geändert haben und das setgid-Bit für das Verzeichnis devel eingerichtet haben, können alle Benutzer die Dateien devel bearbeiten und neue Dateien im Verzeichnis devel erstellen. Diese Dateien sind dauerhaft der Gruppe devel zugeordnet und können daher jederzeit von anderen Benutzern desselben Projekts bearbeitet werden.

Wenn die Benutzer an mehreren Projekten wie devel 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.

Grundprinzip der benutzereigenen Gruppen

Obwohl UPGs nicht ganz neu in Red Hat Linux 7.1 sind, haben viele Benutzer immer noch Fragen zu diesem Thema, z.B. warum UPG überhaupt notwendig ist. Im Folgenden wird das Grundprinzip dargestellt:

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.