Univention Bugzilla – Bug 27955
univention-ldap-overlay-memberof sollte die Attribute an den Gruppenobjekten nicht löschen
Last modified: 2012-12-12 21:10:25 CET
In univention-ldap-overlay-memberof werden aus allen Gruppen die uniqueMember entfernt und wieder hinzugefügt, damit das slapd-overlay memberof das memberof Attribut für alle vorhandenen Benutzer initialisiert. Diese Änderung ist ungünstig, da mindestens auf dem Master dann Listener Module angestoßen werden könnten. Besser wäre es, dass memberof ohne Änderung am LDAP zu initialisieren bzw. zum Zeitpunkt der Initialisierung das Listener/Replikations Mechanismen zu deaktivieren.
*** Bug 27957 has been marked as a duplicate of this bug. ***
Mögliche Alternative: 1. Auf dem Master slapcat+slapadd ? 2. Für die replizierenden Systeme für jedes eindeutige uniqueMember ein Trigger-Eintrag in /var/lib/univention-ldap/notify/transaction geschrieben werden (und die last_id entsprechend erhöht, vorher slapd stop; notifier stop). Im Test zeigte sich, dass die memberOf Attribute an einem Benutzer dann per Listner repliziert werden (LDAP-Suche nach "*" und '+' liefert auch memberOf). Zusätzlich zeigte sich im Test, dass durch Replikation des memberOf an benutzer1 auch gleich die memberOf-Attribute aller Benutzer um die Gruppen erweitert werden, die sie mit benutzer1 gemein haben. Das führt vermutlich zu einem deutlich reduzierten realen Replikations-Umfang.
(In reply to comment #2) > Mögliche Alternative: > > 1. Auf dem Master slapcat+slapadd ? das hat auf einem Slave nicht funktioniert > > 2. Für die replizierenden Systeme für jedes eindeutige uniqueMember ein > Trigger-Eintrag in /var/lib/univention-ldap/notify/transaction geschrieben > werden (und die last_id entsprechend erhöht, vorher slapd stop; notifier stop). > Im Test zeigte sich, dass die memberOf Attribute an einem Benutzer dann per > Listner repliziert werden (LDAP-Suche nach "*" und '+' liefert auch memberOf). > Zusätzlich zeigte sich im Test, dass durch Replikation des memberOf an > benutzer1 auch gleich die memberOf-Attribute aller Benutzer um die Gruppen > erweitert werden, die sie mit benutzer1 gemein haben. Das führt vermutlich zu > einem deutlich reduzierten realen Replikations-Umfang. Da hat man aber wieder das Problem, dass das memberof auf dem Master auch initialisiert werden muss (mit univention-ldap-overlay-memberof), dafür bräuchte man dann auch eine Alternative.
Ja, zuerst muss das auf dem Master gelöst werden, der Punkt 2. würde dann nur helfen einen Neujoin der Systeme zu vermeiden.
In univention-update-memberof wird nun statt lo.modify(dn, [("uniqueMember", uniqueMember, [])]) lo.modify(dn, [("uniqueMember", [], uniqueMember)]) ein einfache replace gemacht lo.modify_s(dn, ml). Danach ist das memberof auf dem Master vorhanden. -> univention-ldapsearch '(uid=*)' memberOf ... # test1, users, ucs.new dn: uid=test1,cn=users,dc=ucs,dc=new memberOf: cn=Domain Users,cn=groups,dc=ucs,dc=new ...
Verified: * Funktion OK * Changelog OK Der SDB-Artikel muss später noch überarbeitet werden (Bug 29283).
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".