Hi Leute!
Ich habe das Problem, dass dovecot zwar LDAP-Abfragen machen kann, aber es verlangt bei den Gruppen eine kommagetrennte Liste der Gruppen, in denen ein User Mitglied ist. Wenn dovecot in einem IMAP-Login-Prozess läuft, dann kann ich das mit einem imap-postlogin-Skript zum IMAP-Service erledigen. Sprich ich hab ein kleines Pythonprogramm, welches die Gruppen des Users abfrägt, diese in einen kommaseparierten String umwandelt und als Environment-Variable setzt, bevor der IMAP-Prozess weiterläuft. Damit kann ich dann über ACLs verschiedene Berechtigungen auf einzelne Unterordner des Postfaches vergeben.
Das Problem dabei ist, wenn ein globales Sieve-Script läuft, findet kein Postlogin-Prozess statt, weil gar kein Login-Prozess stattfindet. Damit können auch die Gruppen nicht abgefragt werden, und Sieve sieht teilweise die Postfächer nicht.
Ich kann nun in LDAP ein Attribut beim User setzen, wo ich die gewünschten Gruppen als String kommasepariert eintrage. Dann funktioniert Sieve auch tadellos.
Das ist das Grundproblem.
Jetzt suche ich eine Möglichkeit, wie ich openldap mit einem Overlay dazu bringe, diesen String automatisch als dynamisches Attribut konfiguriere. Also jedesmal wenn ich eine LDAP-Abfrage nach dem Feld mache, erzeugt OpenLDAP einen String mit all den cn der Gruppen, wo der User member ist. Und ich hab keine Ahnung, ob und wie das geht.
Um es kurz zu machen:
Der User "username" ist memberof
cn=group1,ou=groups,dc=example,dc=com
cn=group2,ou=groups,dc=example,dc=com
cn=group3,ou=groups,dc=example,dc=com
cn=group4,ou=groups,dc=example,dc=com
Das dynamische Attribut von username soll dann den string
"group1,group2,group3,group4"
ausgeben.
Kann mir hier jemand helfen?
lg scientific
Openldap concat output
-
- Beiträge: 3022
- Registriert: 03.11.2009 13:45:23
- Lizenz eigener Beiträge: Artistic Lizenz
-
Kontaktdaten:
Openldap concat output
dann putze ich hier mal nur...
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main
Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie
auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main