gidnumber im Active Directory

Zur Einführung in die Gruppen verweise ich hier einfach mal auf einen anderen Artikel von mir…

Wenn Benutzerinfos im Active Directory von Linux aus abgefragt werden, dann müssen die Felder uidnumber und gidnumber belegt sein. Das geschieht nicht automatisch, da die Informationen in einem reinen Active Directory nicht benötigt werden. Also muss das von Hand erfolgen (oder natürlich besser über Identity Management Systeme oder Provisioning Tools, um mal nur zwei Buzzwords zu nennen…).

Die Bedeutung der uidnumber sollte klar sein. Das ist das Pendant zur SID in Windows.  Während die Eindeutigkeit der SID (und des sAMAccountName) von Windows aber sichergestellt werden, ist dies bei der uidnumber nicht automatisch so. Also aufpassen!

Nun aber zur gidnumber. Was muss denn in das Attribut „gidnumber“ eingetragen werden? Ganz einfach: die primäre Gruppe! Genauer gesagt die ID der primären Gruppe. Und wie finde ich die? Auch ganz einfach, man schaue bei der gewünschten Gruppe nach und dort in das Attribut „gidnumber“ (bei Gruppen wird das Attribut „uidnumber“ nicht gesetzt). Nehmen wir unser Beispiel mit dem USER1, der Mitglied in „Domänenbenutzer“ und „GROUP1“ ist, dann sehen die beiden Objekte wie folgt aus:

Attribut Benutzer-Objekt Gruppen-Objekt
uidnumber 10001 nicht gesetzt
gidnumber 10000 10000
primaryGroup ID 513 nicht vohanden
primaryGroupToken nicht vorhanden 513
member nicht vorhanden CN=USER1,OU=.
memberOf CN=Group1,OU= nicht gesetzt

Damit eine LDAP-Abfrage von einem Linux-Client wie erwartet funktioniert, muss also

  1. bei Benutzer uidnumber und gidnumber der primären Gruppe eingetragen werden und
  2. bei Gruppen die gidnumber gesetzt werden.

Der Übersichtlichkeit halber empfiehlt es sich übrigens, die gidnumber einfach gleich der primaryGroupID + 2000 zu setzen, wenn keine sonstigen Gründe (z.B. schon vorhandene Gruppen) dagegen sprechen. Die primaryGroupID wird vom System verwaltet und ist damit eindeutig (oder sollte es zumindest sein), nur ist der Wert für Linux-Systeme zu niedrig, da liegen normalerweise Systemgruppen von Linux, daher die Erhöhung um 2000.

Noch ein Wort zu winbind: Wer dieses Paket, das als Teil der Samba-Suite mitkommt, verwendet, der kann auf das setzen der gidnumber bei Benutzern verzichten. winbind macht nämlich statt 1 LDAP-Abfrage gleich 2 hintereinander:

Bei der ersten Abfrage wird zusätzlch das Attribut „PrimaryGroupID“ des Benutzers abgefragt und gleich hinterher dann in der zweiten Abfrage die gidnumber derjenigen Gruppe ausgelesen, die das entsprechende „primaryGroupToken“ hat. Die Kombination dieser beiden Abfragen wird dann als Ergebnis „nach oben“ an die aufrufende Applikation weitergereicht. Eigentlich ganz geschickt und spart Arbeit, allerdings stimmen dann die primären Gruppen unter Windows und unter Linux zwangsweise überein. Wem das egal ist, bitte schön. Aber Überschneidungen mit lokal vorhandenen Gruppen unter Linux sind dann halt nicht auszuschließen.

Advertisements

Über Ralf Wigand

...arbeitet für Microsoft und war von 2008-2015 MVP für Directory Services.
Dieser Beitrag wurde unter Active Directory, LDAP abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s