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
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.