14.8. Gruppen

Eine Gruppe ist einfach eine Zusammenfassung von Accounts. Gruppen werden durch den Gruppennamen und die GID (group ID) identifiziert. Der Kernel von FreeBSD (und den meisten anderen UNIX® Systemen) entscheidet anhand der UID und der Gruppenmitgliedschaft eines Prozesses, ob er dem Prozess etwas erlaubt oder nicht. Im Unterschied zur UID kann ein Prozess zu einer Reihe von Gruppen gehören. Wenn jemand von der GID eines Benutzers oder Prozesses spricht, meint er damit meistens die erste Gruppe der Gruppenliste.

Die Zuordnung von Gruppennamen zur GID steht in /etc/group, einer Textdatei mit vier durch Doppelpunkte getrennten Feldern. Im ersten Feld steht der Gruppenname, das zweite enthält ein verschlüsseltes Passwort, das dritte gibt die GID an und das vierte besteht aus einer Komma separierten Liste der Mitglieder der Gruppe. Diese Datei kann einfach editiert werden (natürlich nur, wenn Sie dabei keine Syntaxfehler machen). Eine ausführliche Beschreibung der Syntax dieser Datei finden Sie in group(5).

Wenn Sie /etc/group nicht händisch editieren möchten, können Sie pw(8) zum Editieren benutzen. Das folgende Beispiel zeigt das Hinzufügen einer Gruppe mit dem Namen teamtwo:

Beispiel 14-7. Setzen der Mitgliederliste einer Gruppe mit pw(8)

# pw groupadd teamtwo
# pw groupshow teamtwo
teamtwo:*:1100:

Die Zahl 1100 ist die GID der Gruppe teamtwo. Momentan hat teamtwo noch keine Mitglieder und ist daher ziemlich nutzlos. Um das zu ändern, nehmen wir nun jru in teamtwo auf.

Beispiel 14-8. Ein Gruppenmitglied mit pw hinzufügen

# pw groupmod teamtwo -M jru
# pw groupshow teamtwo
teamtwo:*:1100:jru

Als Argument von -M geben Sie eine Komma separierte Liste von Mitgliedern an, die in die Gruppe aufgenommen werden sollen. Aus den vorherigen Abschnitten ist bekannt, dass die Passwort-Datei ebenfalls eine Gruppe für jeden Benutzer enthält. Das System teilt dem Benutzer automatisch eine Gruppe zu, die aber vom groupshow Kommando von pw(8) nicht angezeigt wird. Diese Information wird allerdings von id(1) und ähnlichen Werkzeugen angezeigt. Das heißt, dass pw(8) nur /etc/group manipuliert, es wird nicht versuchen, zusätzliche Informationen aus /etc/passwd zu lesen.

Beispiel 14-9. Hinzufügen eines neuen Gruppenmitglieds mittels pw(8)

# pw groupmod teamtwo -m db
# pw groupshow teamtwo
teamtwo:*:1100:jru,db

Die Argumente zur Option -m ist eine durch Komma getrennte Liste von Benutzern, die der Gruppe hinzugefügt werden sollen. Anders als im vorherigen Beispiel werden diese Benutzer in die Gruppe aufgenommen und ersetzen nicht die Liste der bereits bestehenden Benutzer in der Gruppe.

Beispiel 14-10. Mit id die Gruppenzugehörigkeit bestimmen

% id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

Wie Sie sehen, ist jru Mitglied von jru und teamtwo.

Weitere Informationen entnehmen Sie bitte pw(8).

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.