UCS LDAP

Dank an Moritz Bunkus für seinen klärenden Beitrag, dem diese Informationen entstammen.

Auf einem Univention-System mit Samba4 laufen gleich zwei LDAP-Server: OpenLDAP und das Samba4-LDAP. Zwischen beiden werden Einträge synchronisiert, sodass Benutzer in beiden existieren. Allerdings verwenden beide eine leicht unterschiedliche DNs für die Benutzer:

Server	DN
Samba	CN=[username],CN=Users,DC=[domain],DC=[tld]
Openldap	uid=[username],cn=users,dc=[domain],dc=[tld]

Beides ist derselbe User-Eintrag. Man muss daher wissen, an welchem LDAP man sich anmeldet, um den richtigen Anmeldenamen nutzen zu können.

Folgende Ports werden verwendet:

Server	Port (START-TLS)	SSL
Samba	389	636
OpenLdap	7389	7636

Das Samba4-LDAP akzeptiert drei Varianten für die Angabe des Loginnamens:

Den vollständige DN des Users

Die Variante user@domain.dld

Die Variante NetBIOSDomain\user

OpenLDAP akzeptiert ausschließlich die DN-Syntax. Siehe oben, Tabelle: Server/DN

Große Unterschiede zwischen beiden LDAP-Varianten sind:

Samba4 speichert Gruppenmitgliedschaften im Userobjekt direkt mittels des Attributs memberOf.

OpenLDAP speichert die Mitgliedschaft hingegen im Gruppenobjekt mittels des Attributs uniqueMember.

Wenn man in seiner Anwendung nur einen LDAP-Filter angeben kann, so ist daher die Samba4-Variante einfacher. Achtung: man kann das in OpenLDAP mit Hilfe des »memberOf-Overlays« nachrüsten. Das wird ab UCS 4.3 übrigens standardmäßig aktiv sein. (Siehe unten.)

Diverse für Unix/Linux relevante Attribute wie z.B. das Home-Verzeichnis oder die Login-Shell stehen ausschließlich im OpenLDAP zur Verfügung. Die von Univention bereitgestellten, beliebig zu vergebenden Free Attributes stehen ebenfalls nur im OpenLDAP zur Verfügung.

memberOf

Seit dem UCS 4.3 gibt es ein sog. Overlay, welches „memberOf“ für den OpenLDAP aktivert. Dazu muss das Paket installiert sein und die Funktion aktiviert werden, denn per Default ist sie deaktiviert:

apt install univention-ldap-overlay-memberof
ucr set ldap/overlay/memberof=true

Quelle

Jetzt muss man noch wissen, dass der Filter erst bei neuen Gruppen funktioniert. Um „memberOf“ für bestehende Gruppen zu aktivieren müssen die Benutzer aus der Gruppe entfernt, die Gruppe gespeichert und dann die Benutzer der Gruppe wieder hinzugefügt werden.