7. Gruppenverwaltung#

Berechtigungen werden in UCS überwiegend auf Basis von Gruppen unterschieden. Gruppen werden im LDAP gespeichert und sind somit auf allen Systemen identisch. Gruppen können nicht nur Benutzerkonten enthalten, sondern optional auch Rechnerkonten aufnehmen.

Auf jedem System gibt es darüber hinaus auch noch lokale Benutzergruppen, die vor allem für den Zugriff auf Hardware verwendet werden. Diese werden nicht durch das UCS Managementsystem verwaltet, sondern in der Datei /etc/group gespeichert.

7.1. Zuordnung von Benutzergruppen#

Die Zuordnung von Benutzern zu Gruppen erfolgt auf zwei Wegen:

7.2. Empfehlung für Definition von Gruppennamen#

Ein sehr wichtiges und erforderliches Attribut für Gruppen ist der Gruppenname. Um Konflikte mit den verschiedenen Werkzeugen zu vermeiden, die Gruppen in UCS verarbeiten, berücksichtigen Sie die folgenden Empfehlungen für die Definition von Gruppennamen:

  • Verwenden Sie für Gruppennamen nur Groß- und Kleinbuchstaben (A-Za-z), Ziffern (0-9), den Bindestrich (-) und Leerzeichen aus dem ASCII-Zeichensatz.

  • Der Gruppenname beginnt mit einem Buchstaben aus dem ASCII-Zeichensatz. Das Leerzeichen ist weder als erstes, noch als letztes Zeichen erlaubt. Der Bindestrich als letztes Zeichen ist nicht erlaubt.

  • In UCS hat der Gruppenname eine Länge von mindestens 4 und höchstens 20 Zeichen.

Die Empfehlung ergibt den folgenden regulären Ausdruck:

^[A-Za-z][A-Za-z0-9 -]{2,18}[A-Za-z0-9]$

Betrachten Sie die Empfehlung als Richtlinie und nicht als harte Regel und bedenken Sie mögliche Nebenwirkungen, wenn Sie Gruppennamen außerhalb der Empfehlung definieren.

7.3. Verwaltung von Gruppen über Univention Management Console Modul#

Gruppen werden im UMC-Modul Gruppen verwaltet (siehe auch Univention Management Console-Module).

Anlegen einer Gruppe im UMC-Modul

Abb. 7.1 Anlegen einer Gruppe im UMC-Modul#

7.3.1. Gruppenmanagement Modul - Reiter Allgemein#

Tab. 7.1 Reiter Allgemein#

Attribut

Beschreibung

Name (*)

Definiert den Namen der Gruppe. Für empfohlene Zeichen für den Gruppennamen, siehe Empfehlung für Definition von Gruppennamen.

In der Grundeinstellung kann keine Gruppe mit dem Namen eines existierenden Benutzers angelegt werden. Wird die Univention Configuration Registry Variable directory/manager/user_group/uniqueness auf false gesetzt, wird diese Prüfung aufgehoben.

Beschreibung

Hier kann eine beliebige Beschreibung für die Gruppe eingetragen werden.

Benutzer

In diesem Eingabefeld können Benutzer als Mitglieder in diese Gruppe aufgenommen werden.

Gruppen

In diesem Eingabefeld können Gruppen als Mitglieder in diese Gruppe aufgenommen werden (Gruppen in Gruppen).

7.3.2. Gruppenmanagement Modul - Reiter Erweiterte Einstellungen#

Tab. 7.2 Reiter Erweiterte Einstellungen#

Attribut

Beschreibung

Mail

Diese Optionen definieren eine Mailgruppe und sind in Verwaltung von Mailgruppen dokumentiert.

Enthaltene Rechner

In diesem Feld können Rechner als Mitglieder in diese Gruppe aufgenommen werden.

Mitglied von

Hier kann diese Gruppe einer oder mehreren anderen Gruppen als Mitglied hinzugefügt werden (Gruppen in Gruppen).

Gruppen ID

Wenn der Gruppe eine bestimmte Gruppen-ID zugewiesen werden soll, kann die Gruppen-ID in diesem Eingabefeld eingetragen werden. Ansonsten wird der Gruppe automatisch die nächste freie Gruppen-ID zugeordnet. Sie kann nachträglich nicht geändert werden und wird beim Bearbeiten der Gruppe ausgegraut angezeigt.

Als Gruppen-ID können ganze Zahlen zwischen 1000 und 59999 sowie zwischen 65536 und 1000000 frei vergeben werden.

Windows ‣ Relative ID

Die Relative ID (RID) ist der lokale Teil der Security ID (SID) und wird in Windows- und Samba-Domänen verwendet. Wenn der Gruppe eine bestimmte RID zugewiesen werden soll, kann sie in diesem Eingabefeld eingetragen werden. Ansonsten wird automatisch eine RID zugewiesen.

Die RID kann nachträglich nicht geändert werden und wird beim Bearbeiten der Gruppe ausgegraut angezeigt.

Die RIDs bis 1000 sind Standard-Gruppen und anderen speziellen Objekten vorbehalten.

Bei Verwendung von Samba/AD wird die RID durch Samba generiert und kann nicht vorgegeben werden.

Windows ‣ Gruppentyp

Dieser Gruppentyp wird ausgewertet, wenn der Benutzer sich an einer Domäne auf Basis von Samba/AD anmeldet. Man unterscheidet zwischen drei Windows-Gruppentypen:

Domänengruppen

sind domänenweit bekannt. Neu erstellte Gruppen im UMC-Modul Gruppen sind standardmäßig von diesem Typ.

Lokale Gruppen

sind nur auf Windows-Servern von Bedeutung. Wird auf einem Windows-Server eine lokale Gruppe erstellt, ist sie nur dem Server bekannt und ist nicht domänenweit verfügbar. UCS hingegen unterscheidet nicht zwischen lokalen und globalen Gruppen. Von einer AD-Domäne übernommene lokale Gruppen werden in UCS wie globale Gruppen verwaltet.

Bekannte Gruppe

Unter diesem Gruppentyp werden von Samba- und Windows-Servern vorkonfigurierte Gruppen zusammengefasst, die in der Regel über besondere Berechtigungen verfügen, z.B. Power Users.

Windows ‣ AD Gruppentyp

Dieser Gruppentyp wird nur ausgewertet, wenn der Benutzer sich an einer Domäne auf Basis von Samba/AD anmeldet (das Active Directory-Domänendienste bereitstellt). Diese Gruppen sind in Synchronisation von Active Directory-Gruppen bei Verwendung von Samba/AD beschrieben.

Windows ‣ Samba-Privilegien

Mit dieser Eingabemaske wird einer Gruppe Windows-Systemrechte zugewiesen, z.B. die Berechtigung einen Windows-Client in die Domäne zu joinen. Diese Funktionalität ist in Verwaltung von Benutzern über Univention Management Console Modul dokumentiert.

7.3.3. Gruppenmanagement Modul - Reiter Optionseinstellungen#

Diese Karteikarte steht nur beim Hinzufügen von Gruppen zur Verfügung, nicht aber beim Bearbeiten von Gruppen. Sie ermöglicht es, bestimmte LDAP-Objektklassen für die Gruppe abzuwählen. Die Eingabefelder für Attribute dieser Klassen können dann nicht ausgefüllt werden.

Tab. 7.3 Reiter Optionen#

Attribut

Beschreibung

Samba-Gruppe

Dieses Auswahlkästchen gibt an, ob die Gruppe die Objektklasse sambaGroupMapping erhält.

POSIX-Gruppe

Dieses Auswahlkästchen gibt an, ob die Gruppe die Objektklasse posixGroup erhält.

7.4. Verschachtelte Gruppen mit Gruppen in Gruppen#

UCS unterstützt die Verschachtelung von Gruppen (auch bekannt als „Gruppen in Gruppen“). Dies vereinfacht die Verwaltung der Gruppen: Werden in einer Domäne beispielsweise zwei Standorte verwaltet, können zwei Gruppen Techniker Standort A und Techniker Standort B gebildet werden, denen jeweils die Benutzerkonten der Standort-Techniker zugewiesen werden.

Um eine standortübergreifende Techniker-Gruppe zu bilden, reicht es dann aus, die Gruppen Techniker Standort A und Techniker Standort B als Mitglieder dieser Gruppe zu definieren.

Zyklische Abhängigkeiten von Gruppen in Gruppen werden erkannt und abgewiesen. Diese Prüfung kann durch die Univention Configuration Registry Variable directory/manager/web/modules/groups/group/checks/circular_dependency deaktiviert werden. Auch bei direkten Gruppenänderungen ohne das UCS Managementsystem müssen zyklische Mitgliedschaften vermieden werden.

Die Auflösung der verschachtelten Gruppenmitgliedschaften erfolgt während der Expandierung des Gruppencaches (siehe Lokaler Gruppencache) und ist somit für Applikationen transparent.

7.5. Lokaler Gruppencache#

Aus dem LDAP aufgelöste Benutzer- und Rechnerinformationen werden durch den Name Server Cache Daemon (NSCD) zwischengespeichert, siehe Name Service Cache Daemon.

Die Zwischenspeicherung der Gruppen erfolgt seit UCS 3.1 aus Performance- und Stabilitätsgründen nicht mehr über den NSCD, sondern durch das NSS-Modul libnss-extrausers. Die Gruppeninformationen werden automatisch durch das Skript /usr/lib/univention-pam/ldap-group-to-file.py in die Datei /var/lib/extrausers/group exportiert und dort von dem NSS-Modul ausgelesen.

Der Export erfolgt in der Grundeinstellung einmal täglich durch einen Cron-Job und wird zusätzlich gestartet wenn der Univention Directory Listener 15 Sekunden inaktiv gewesen ist. Das Intervall für die Cron-Aktualisierung wird über die Univention Configuration Registry Variable nss/group/cachefile/invalidate_interval in Cron-Syntax (siehe Definition eigener Cron-Jobs in /etc/cron.d/) festgelegt. Das Listener-Modul kann über die Univention Configuration Registry Variable nss/group/cachefile/invalidate_on_changes aktiviert/deaktiviert werden (true/false).

Während des Generierens der Gruppencache-Datei kann das Skript prüfen, ob die Gruppenmitglieder weiterhin im LDAP-Verzeichnis vorhanden sind. Werden für die Verwaltung der Verzeichnisdaten nicht ausschließlich UMC-Module eingesetzt, kann die zusätzliche Prüfung durch Setzen der Univention Configuration Registry Variable nss/group/cachefile/check_member auf true aktiviert werden.

7.6. Synchronisation von Active Directory-Gruppen bei Verwendung von Samba/AD#

Wird Samba/AD eingesetzt, werden die Gruppenmitgliedschaften zwischen dem Samba 4-Verzeichnisdienst und dem OpenLDAP-Verzeichnisdienst durch den Univention S4-Connector synchronisiert, d.h. jede Gruppe auf UCS-Seite ist einer Gruppe im Active Directory assoziiert. Allgemeine Hinweise zum Univention S4 Connector finden sich in Univention S4 Connector.

Einzige Ausnahme sind die Pseudogruppen, manchmal auch als Systemgruppen bezeichnet. Diese werden nur intern von Active Directory/Samba verwaltet, z.B. enthält die Gruppe Authenticated Users eine Liste aller aktuell an einem System angemeldeten Benutzer. Pseudogruppen sind im UCS-Verzeichnisdienst vorhanden; sie werden aber nicht durch den Univention S4 Connector synchronisiert und müssen normalerweise nicht bearbeitet werden. Dies betrifft die folgenden Gruppen:

  • Anonymous Logon

  • Authenticated Users

  • Batch

  • Creator Group

  • Creator Owner

  • Dialup

  • Digest Authentication

  • Enterprise Domain Controllers

  • Everyone

  • IUSR

  • Interactive

  • Local Service

  • NTLM Authentication

  • Network Service

  • Network

  • Nobody

  • Null Authority

  • Other Organization

  • Owner Rights

  • Proxy

  • Remote Interactive Logon

  • Restricted

  • SChannel Authentication

  • Self

  • Service

  • System

  • Terminal Server User

  • This Organization

  • World Authority

Man unterscheidet in Active Directory/Samba zwischen den folgenden vier AD-Gruppentypen. Diese Gruppentypen können auf zwei Arten von Gruppen angewendet werden; Sicherheitsgruppen konfigurieren Berechtigungen (entsprechend den UCS-Gruppen), während Verteilungsgruppen für Mailverteiler genutzt werden:

Lokal

Lokale Gruppen existieren immer nur lokal auf einem Rechner. Eine lokale Gruppe, die in Samba/AD angelegt wurde, wird durch den Univention S4 Connector synchronisiert und erscheint daher auch im UMC-Modul Gruppen. Es besteht aber keine Notwendigkeit lokale Gruppen im UMC-Modul anzulegen.

Global

Globale Gruppen sind der Standardtyp für neu angelegte Gruppen im UMC-Modul Gruppen. Eine globale Gruppe gilt für eine Domäne, es können aber keine Konten anderer Domänen aufgenommen werden. Besteht eine Vertrauensstellung zu einer Domäne, werden die Gruppen dort angezeigt und es können Berechtigungen zugewiesen werden. Die aktuelle Version von UCS unterstützt allerdings weder mehrfache Domänen/Forests, noch von UCS ausgehende Vertrauensstellungen.

Domänenlokal

Domänenlokale Gruppen können auch Mitglieder anderer Domänen aufnehmen (sofern zu diesen eine Vertrauenstellung besteht oder sie Teil eines Forests ist). Domänenlokale Gruppen werden aber nur in der eigenen Domäne angezeigt. Die aktuelle Version von UCS unterstützt allerdings weder mehrfache Domänen/Forests, noch von UCS ausgehende Vertrauensstellungen.

Universell

Universelle Gruppen können Mitglieder aus allen Domänen aufnehmen und diese Mitglieder werden auch in allen Domänen eines Forests angezeigt. Diese Gruppen werden in einem separaten Segment des Verzeichnisdienstes gespeichert, dem sogenannten Global Catalog. Domänen-Forests werden aktuell von Samba/AD nicht unterstützt.

7.7. Overlay-Modul zur Anzeige der Gruppeninformationen an Benutzerobjekten#

Im UCS-Verzeichnisdienst werden Gruppenmitgliedschaften nur an den Gruppenobjekten und nicht am jeweiligen Benutzerobjekt gespeichert. Einige Applikationen erwarten jedoch die Gruppenmitgliedschaften an den Benutzerobjekten (z.B. im Attribut memberOf). Durch ein optionales Overlay-Modul im LDAP-Server können diese Attribute automatisch anhand der Gruppeninformationen angezeigt werden. Die zusätzlichen Attribute werden nicht in das LDAP geschrieben, sondern bei einer Anfrage durch das Overlay-Modul ermittelt und angezeigt.

Vorsicht

Bevor Sie diese Funktion verwenden, lesen Sie bitte KB 6439 - memberOf attribute: Group memberships of user and computer objects (Englisch) über die Aktivierung des memberOf Overlay-Moduls.

Dazu muss auf allen LDAP-Servern das Paket univention-ldap-overlay-memberof installiert werden. Anschließend muss /usr/share/univention-ldap-overlay-memberof/univention-update-memberof auf allen Servern aufgerufen werden.

In der Grundeinstellung wird das Benutzerattribut memberOf dargestellt. Mit der Univention Configuration Registry Variable ldap/overlay/memberof/memberof kann auch ein anderes Attribut konfiguriert werden.