6.4. Benutzereigene Gruppen

Red Hat Enterprise Linux verwendet ein Schema für benutzereigene Gruppen (UPG), das die Verwaltung von UNIX-Gruppen vereinfacht.

Eine UPG wird erzeugt, wenn ein neuer Benutzer zum System hinzugefügt wird. UPGs haben den selben Namen wie der Benutzer, für welchen diese erzeugt wurden und lediglich dieser Benutzer ist Mitglied der Gruppe.

UGPs ermöglichen das sichere Einstellen von Standard-Genehmigungen für eine neu erstellte Datei oder ein Verzeichnis, was sowohl dem Benutzer als auch der Gruppe dieses Benutzers gestattet, Veränderungen an der Datei oder am Verzeichnis vorzunehmen.

Die Einstellung, die festlegt, welche Rechte einer neu erzeugten Datei oder einem Verzeichnis zugewiesen werden, wird umask gennannt und ist in der Datei /etc/bashrc konfiguriert. Auf UNIX-Systemen ist umask herkömmlich auf 022 gesetzt, was lediglich dem Benutzer, der diese Datei oder dieses Verzeichnis erstellt hat, erlaubt Änderungen vorzunehmen. Jedoch nach dem UPG Schema ist dieser "Gruppenschutz" nicht notwendig, da jeder Benutzer seine eigene private Gruppe besitzt.

6.4.1. Gruppenverzeichnisse

Viele IT-Organisationen ziehen es vor, eine Gruppe für jedes größere Projekt zu erstellen und dann dieser Gruppe Mitarbeiter zuzuweisen, wenn sie auf die Dateien des Projekts zugreifen müssen. Bei dieser traditionellen Methode ist das Management von solchen Dateien schwierig, denn sobald jemand eine Datei erstellt, wird diese automatisch mit der Hauptgruppe, welcher der Benutzer angehört, assoziiert. Wenn eine einzelne Person an mehreren Projekten gleichzeitig arbeitet, ist es schwierig, die richtigen Dateien der richtigen Gruppe zuzuweisen. Unter Verwendung des UPG Schemas werden Gruppen automatisch Dateien zugewiesen, die in Verzeichnissen mit dem gesetzten setgidBit erstellt werden. Das Setzen des setgid-Bits trägt erheblich zur Vereinfachung der Verwaltung von Gruppenprojekten bei, die sich ein gemeinsames Verzeichnis teilen.Alle Dateien, die ein Benutzer innerhalb eines Verzeichnisses erstellt, gehören automatisch der Gruppe, der auch das Verzeichnis gehört.

Stellen Sie sich zum Beispiel vor, dass eine Gruppe von Mitarbeitern an Dateien im Verzeichnis /usr/lib/emacs/site-lisp/ arbeitet. Einigen wird soweit vertraut, dass sie das Verzeichnis ändern dürfen, aber sicherlich nicht allen. Erstellen Sie zuerst eine emacs Gruppe mit folgendem Befehl:

/usr/sbin/groupadd emacs

Um den Verzeichnisinhalt mit der emacs Gruppe zu verknüpfen, geben Sie Folgendes ein:

chown -R root.emacs /usr/lib/emacs/site-lisp

Nun können Sie mit Hilfe von gpasswd die richtigen Benutzer zur Gruppe hinzufügen:

/usr/bin/gpasswd -a <username> emacs

Um Benutzern zu gestatten, Dateien im Verzeichnis zu erstellen, verwenden Sie folgenden Befehl:

chmod 775 /usr/lib/emacs/site-lisp

Wenn ein Benutzer eine neue Datei erstellt, wird diese der benutzereigenen Standardgruppe zugeordnet. Um dies zu verhindern, müssen Sie folgenden Befehl ausführen, der dafür sorgt, dass alle Dateien im Verzeichnis mit der Gruppe des Verzeichnis selbst (emacs) erstellt werden:

chmod 2775 /usr/lib/emacs/site-lisp

Zu diesem Zeitpunkt, da die Default-umask aller Benutzer 002 ist, können die Mitglieder der emacs-Gruppe Dateien im Verzeichnis /usr/lib/emacs/site-lisp/ ändern, ohne dass der Administrator Rechte ändern müsste, jedesmal wenn eine neue Datei erzeugt wird.