Ik draai OpenLDAP v2.4.23 op Debian Squeeze
Ik heb de module refint geactiveerd, door middel van de volgende LDIF bestanden:
Indien ik nu een gebruiker aanmaak, en daar de naam van wijzig, dan gaat het wijzigen van die naam in de bijbehorende groep gewoon goed, dus daar ben ik tevreden over.
Wat er niet goed gaat is het volgende:
Uit de openLDAP docs (http://www.openldap.org/doc/admin24/overlays.html) bij 12.11.2:
If we removed all users from the directory who are a member of this group, then the end result would be a single member in the group: cn=admin,dc=example,dc=com. This is the refint_nothing parameter kicking into action so that the schema is not violated.
Dus dat betekent als ik een laatste member van een groep zou verwijderen, dan moet hij die gebruiker vervangen door de DN die ik opgeef in olcrefintnothing
Echter, dit doet 'ie niet, hij blijft die gebruiker in de groep houden, met de volgende foutmelding in de syslog:
Mijn vraag is nu: waarom werkt dit niet?
De rest gaat trouwens wel goed, dus het gaat enkel mis indien de groep maar 1 member heeft en die dus verwijderd wordt uit de LDAP directory, dan wordt deze NIET vervangen met de DN zoals gespecificeerd in de olcRefIntNothing waarde.
Ik heb de module refint geactiveerd, door middel van de volgende LDIF bestanden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| dn: cn=module{0},cn=config objectclass: olcModuleList cn: module{0} olcmoduleload: {0}back_hdb olcmoduleload: {1}refint olcmoduleload: {2}memberof olcmodulepath: /usr/lib/ldap en: dn: olcOverlay={0}refint,olcDatabase={1}hdb,cn=config objectclass: olcOverlayConfig objectclass: olcRefintConfig olcoverlay: {0}refint olcrefintattribute: member memberOf olcrefintnothing: cn=admin,dc=test,dc=nl |
Indien ik nu een gebruiker aanmaak, en daar de naam van wijzig, dan gaat het wijzigen van die naam in de bijbehorende groep gewoon goed, dus daar ben ik tevreden over.
Wat er niet goed gaat is het volgende:
Uit de openLDAP docs (http://www.openldap.org/doc/admin24/overlays.html) bij 12.11.2:
If we removed all users from the directory who are a member of this group, then the end result would be a single member in the group: cn=admin,dc=example,dc=com. This is the refint_nothing parameter kicking into action so that the schema is not violated.
Dus dat betekent als ik een laatste member van een groep zou verwijderen, dan moet hij die gebruiker vervangen door de DN die ik opgeef in olcrefintnothing
Echter, dit doet 'ie niet, hij blijft die gebruiker in de groep houden, met de volgende foutmelding in de syslog:
code:
1
2
3
4
| Feb 16 17:32:13 vm03 slapd[28174]: conn=1001 op=21 DEL dn="uid=test,dc=test,dc=nl" Feb 16 17:32:13 vm03 slapd[28174]: Entry (cn=groep34,dc=test,dc=nl): object class 'groupOfNames' requires attribute 'member' Feb 16 17:32:13 vm03 slapd[28174]: entry failed schema check: object class 'groupOfNames' requires attribute 'member' Feb 16 17:32:13 vm03 slapd[28174]: conn=1001 op=21: memberof_value_modify member="uid=test,dc=test,dc=nl" failed err=65 text= |
Mijn vraag is nu: waarom werkt dit niet?
De rest gaat trouwens wel goed, dus het gaat enkel mis indien de groep maar 1 member heeft en die dus verwijderd wordt uit de LDAP directory, dan wordt deze NIET vervangen met de DN zoals gespecificeerd in de olcRefIntNothing waarde.