Druckversion | |||||||||||||||||||||||||||||||||||||||||||||||
Berechtigungen beim Zugriff auf Dateien (Verzeichnisse, Geräte usw. sind bekanntlich nur spezielle Varianten von Dateien) werden unter Unix in drei »Ebenen« vergeben. Da wäre der Besitzer einer Datei, der letztlich selbst über die Rechte des Zugriffs entscheidet. Diesen Befugnissen für eine einzelne Person stehen die »Weltrechte« gegenüber, die bestimmen, was alle »Nicht-Besitzer« mit der Datei anstellen dürfen. Natürlich existieren genügend Szenarien, in denen Rechte weder exklusiv einer Person zugeordnet, noch jedermann gewährt werden sollten. Genau diese Beschränkung der Rechte auf einen bestimmten Personenkreis kann über Gruppen geregelt werden, indem die betreffende Datei einer konkreten Gruppe gehört, deren Mitglieder die befugten Personen umfassen. Die Zugehörigkeit von Benutzern zu einer Gruppe kann auf mehreren Wegen erfolgen. Zum einen wird durch den Gruppeneintrag in der Datei /etc/passwd die Default-Gruppe eines Benutzers bestimmt. Legt dieser Benutzer z.B. eine neue Datei an, wird diese zunächst dieser Gruppe gehören. Soll ein Benutzer mehreren Gruppen angehören, so ist er in die Liste der Gruppenmitglieder der Datei /etc/group aufzunehmen. Ein Benutzer kann dann für die Dauer der aktuellen Sitzung eine dieser Gruppen zu seiner Default-Gruppe ernennen. Und schließlich besteht die Möglichkeit, eine Gruppe durch ein Passwort zu schützen. In diesem Fall darf jeder Mitglied der Gruppe werden, der das Passwort kennt.
In dieser Datei befinden sich die verschiedene Benutzergruppen und ihre Mitglieder. Ein Eintrag besitzt folgenden Aufbau:
Die Einträge bedeuten:
Der Name der Gruppe; auch hier ist die Beschränkung auf Kleinbuchstaben
und maximal 8 Zeichen üblich (aber nicht notwendig).
Benutzer können bei Kenntnis des Passwortes die Gruppe wechseln, auch wenn sie kein
Mitglied der Gruppe sind; es gelten die gleichen Aussagen wie für die
Passwörter der /etc/passwd.
Nichtnegative Zahl < 64000. Gruppennummern < 100 sind
für Systemzwecke reserviert und sollten nicht verwendet werden.
Mitgliederliste Durch Komma getrennte Liste der Nutzerkennzeichen.
Der zweite und vierte Eintrag können entfallen, d.h. die Gruppe ist nicht durch ein Passwort geschützt bzw. in die Gruppe kann kein Benutzer wechseln, der diese nicht als Default-Gruppe hat. Die Passwortabfrage entfällt für Gruppenmitglieder. Passwörter werden bei Verwendung des Shadow-Passwort-Systems (dieses verwenden alle aktuellen Distributionen) in der Datei /etc/gshadow gespeichert.
Anstatt Gruppenpasswörter und -mitglieder in der für alle lesbaren Datei /etc/group zu speichern, werden bei Verwendung von Shadow-Passwort-Systemen diese in der nur für Root lesbaren Datei »/etc/gshadow« gehalten. Der Aufbau eines Eintrages besitzt folgendes Format:
Die Einträge bedeuten: Gruppenname Wie in /etc/group
Das verschlüsselte Passwort; meist wird auf eine solche Möglichkeit
verzichtet. Zum Setzen des Gruppenpasswortes bedient sich der Gruppenverwalter des
Kommandos gpasswd.
Gruppenverwalter
Nutzerkennzeichen der/des Benutzer(s), den/die der Systemverwalter zu
Administratoren für diese Gruppe ernannt hat. Der hier angeführte Nutzer
darf andere Nutzer zur Gruppe hinzufügen und deren Einträge auch wieder
entfernen, sowie das Gruppenpasswort ändern.
Mitgliederliste Durch Komma getrennte Liste der Nutzerkennzeichen.
Anmerkung: Die nachfolgend beschriebenen Programme liegen nicht jeder Distribution bei. Ob sie in Ihrer Version der Shadow-Utilities vorliegen, erkennen Sie anhand der Ausgabe von:
Bevorzugen Sie die manuelle Bearbeitung der Konfigurationsdateien, so können Sie im Falle der Gruppenverwaltung auf zwei Kommandos zurückgreifen, die eine automatische Konvertierung der Dateien /etc/group und /etc/gshadow in das jeweils andere Format vornehmen. Ein solche Umwandlung kann in mehreren Situationen erforderlich werden:
Das Kommando grpconv erzeugt aus einer vorhandenen Datei /etc/group und ggf. /etc/gshadow eine neue Datei /etc/gshadow, indem es Passwörter und Mitgliederlisten aus der Gruppen- in die Shadowdatei überträgt:
grpunconv schreibt die Passwörter und Mitgliederlisten aus der /etc/gshadow in die Datei /etc/group zurück und löscht anschließend die Shadowdatei.
Eventuell wird eine Konsistenzprüfung der beiden Dateien nötig. Das Kommando grpck gibt enthaltene Unstimmigkeiten aus und fordert ggf. zu Korrekturen auf:
Das Anlegen neuer Gruppen kann prinzipiell auf drei Wegen erfolgen:
Die Handarbeit
Allgemeine WerkzeugeAuf Systemen mit traditioneller Passwort-Verwaltung heißt das benötigte Kommando addgroup. Seine Bedienung ist analog dem nachfolgend diskutiertem groupadd, das auf Systemen mit Shadow-Passwort-Verwaltung eingesetzt wird. Letzteres Kommando nimmt automatisch die notwendigen Änderungen in der Datei /etc/gshadow vor. Um eine neue Gruppe "newgroup" mit der Gruppennummer 111 anzulegen, gibt Root Folgendes ein:
Wird auf die Angabe einer Gruppennummer verzichtet, bekommt "newgroup" die nächste freie Gruppennummer zugewiesen. "groupadd" beendet seine Arbeit mit einer Fehlermeldung, falls eine schon verwendete Gruppennummer als Argument übergeben wurde. Ist eine doppelte Vergabe von GID's erwünscht, muss das dem Kommando mit der Option "-o" mitgeteilt werden:
Distributionseigene WerkzeugeDie distributionseigenen Werkzeuge verpacken den Kommandozeilenaufruf in einen grafischen Dialog. Ihr Vorteil liegt oft in der Kopplung mehrerer Kommando in einer Maske, so ist es möglich, während des Anlegens einer Gruppe das Passwort zu setzen und gleichzeitig die Liste der Mitglieder anzulegen. Der Nachteil der Tools ist ihre meist auf nur ein System beschränkte Verfügbarkeit. RedHat-basierende Distributionen administrieren die Gruppen über userconf. SuSE hat die Gruppenverwaltung in Yast integriert (Administration des Systems Gruppenverwaltung; Abbildung 1). Abbildung 1: Gruppenverwaltung im Yast
Die HandarbeitDie Handarbeit läuft auf das manuelle Löschen der entsprechenden Einträge der Dateien /etc/group und /etc/gshadow hinaus.
Allgemeine WerkzeugeIn Nicht-Shadow-Passwort-Systemen ist delgroup das Kommando. Dessen Bedienung erfolgt analog zum Kommando groupdel. Beide Kommandos erwarten als Argument einzig den Namen der zu löschenden Gruppe. "groupdel" entfernt zusätzlich den Eintrag aus der Shadow-Gruppendatei.
Distributionseigene WerkzeugeDas Entfernen kann in den Tools userconf von RedHat bzw. Yast (Administration des Systems Gruppenverwaltung) bei SuSE erfolgen.
Die HandarbeitIn einem System mit Shadow-Passwort-Verwaltung werden die Nutzerkennzeichen der
Mitglieder einfach in das vierte Feld des betreffenden Gruppeneintrags der Datei
/etc/gshadow eingetragen. Die einzelnen Einträge sind durch Kommas voneinander zu
trennen. Zum Bearbeiten der Datei sollte, falls installiert, das Kommando vigr -s
verwendet werden. Allgemeine WerkzeugeZum Verwalten von Gruppenmitgliedern dient das Kommando gpasswd. Sowohl Root als auch von ihm ernannte Gruppenverwalter können mit Hilfe von "gpasswd" Mitglieder hinzufügen
Mitglieder entfernen
Das Gruppenpasswort löschen
Alle Gruppenmitglieder entfernen
Distributionseigene WerkzeugeEin Eintrag von Nutzern kann durch Editieren der Gruppeneinträge mit den Tools userconf von RedHat bzw. Yast (Administration des Systems Gruppenverwaltung) bei SuSE erfolgen.
Der Wechsel einer Gruppe ist notwendig, falls:
Der Gruppenwechsel erfolgt mit dem Kommando newgrp:
Das "-" als Argument bewirkt eine erneute Initialisierung aller Umgebungsvariablen inklusive einem eventuellen Verzeichniswechsel. Wird dem Kommando kein Gruppenname angegeben, wird in die Default-Gruppe (aus /etc/passwd) gewechselt. Ist ein Nutzer nicht zum Wechsel berechtigt, wird er zur Eingabe des Passwortes aufgefordert.
Um die effektive Gruppe nur während der Ausführung eines einzelnen Kommandos zu wechseln, kann auf das Kommando sg zurückgegriffen werden:
Die Angabe des Gruppennamens ist zwingend. Ein Aufruf ohne Kommando funktioniert zwar, bewirkt aber praktisch nichts.
Der Gruppenwechsel mittels newgrp kann vom (Gruppen)Administrator unterbunden werden:
In die Gruppe "fibel" kann nun niemand mehr wechseln (alle Mitglieder mit Ausnahme von "root" wurden aus der Liste entfernt.).
Die Verwaltung aller Gruppen einer einzigen Person aufzubürden, kann diese schnell überfordern. Warum sollte die Mitglieder einer Gruppe, die gemeinsam an einem Programmierprojekt arbeiten, nicht auch der Projektleiter administrieren? Das Einrichten und Entfernen von Gruppen wird immer Root anlasten, aber die Verwaltung dieser kann er delegieren:
Der Nutzer "user" ist nun berechtigt, Nutzer zur Gruppe "fibel" hinzuzufügen bzw. jene aus dieser Gruppe zu entfernen. Außerdem kann der Gruppenverwalter das Passwort einer Gruppe entfernen, so dass kein Nicht-Mitglied sich der Gruppe zuordnen kann:
Root kann die Liste der Gruppenverwalter wieder löschen:
|
|||||||||||||||||||||||||||||||||||||||||||||||
Korrekturen, Hinweise? |