Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
UCS Ldap und Kopano Mail-User
Ziel ist es mit einer Securepoint UTM per LDAP prüfen zu können ob eine e-Mail-Adresse existiert oder nicht. Folgendes macht das zum Problem:
- Die Securepont UTM unterstützt hier nur die Abfrage eines einzigen Attributs per LDAP.
- Kopano Verteilt die e-Mail-Adressen auf zwei vom Standard abweichende Attributtypen.
- Auf dem UCS läuft OpenLdap auf nicht Standardports aber Samba als LDAP-Server auf den Standardports.
- Die Kopano-LDAP-Attribute werden *nicht* in den Samba-LDAP repliziert.
Hier die Lösung bzw. ein Workaround:
Hintergrund: 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.
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.
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.
Kopano und LDAP
Kopano Accounts erkennt man an der Objectclass *kopano-user*. Dies haben dann ggf., abweichend vom Standard, folgende Attribute:
Attribut | Zweck |
---|---|
mailPrimaryAddress | primäre e-Mail-Adresse, welche auch als e-Mail-Adresse\\in den Eigenschafen der Webapp angezeigt wird. |
mailAlternativeAddress | optionale, weiter e-Mail-Adressen |
Konfiguration der Univention UTM und das Problem mit dem Attribut
Zunächst ist es wichtig, nicht auf die Idee zu kommen mit der UTM einen AD-Join zu machen, da dort ja wie gesagt die Kopano-Attribute fehlen. Es muss also „LDAP“ gewählt werden und der dazu passende Bind-DN verwendet werden. Wie beschrieben nutzt Kopano zwei Attribute, aber die Securepoint UTM kann nur eines abfragen. Deshalb konfiguriert man als e-Mail-Attribut *mailAlternativeAddress*. Warum, folgt:
Die Lösung bzw. der Workaround
Der Trick ist alle e-Mail Adress auch als *mailAlternativeAddress* anzulegen. Wichtig zu wissen ist, welche Felder in dem Web-GUI den beiden Attributen entsprechen. Dabei unterscheiden sich die
Attribut | in dem Web-GUI |
---|---|
mailPrimaryAddress | |
mailAlternativeAddress |