Module MemberOf

Ce module est incompatible avec une synchronisation syncrepl. Dans ce contexte, il est conseillé d'utiliser le module dynlist en remplacement.

Dans les faits, ce module peut fonctionner avec une synchronisation syncrepl, en outre, en cas de redémarrage d'un serveur esclave, si celui-ci synchronise des changements au niveau de groupes, les modifications sur les attributs dynamiques des membres ne seront pas faites automatiquement. Il faudra alors attendre la prochaine modification du groupe pour que l'attribut dynamique soit mis à jour sur tous les membres. De la même manière, en cas de synchronisation d'un serveur esclave avec une base vide, les attributs dynamiques ne seront pas alimentés.

Installation

Il faut d'abord charger les modules memberof et refint :

ldapmodify -Y EXTERNAL -H ldapi:/// << EOF
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: memberof
olcModuleLoad: refint
EOF

Il faut ensuite activer ces modules pour votre database :

ldapadd -Y EXTERNAL -H ldapi:/// << EOF
dn: olcOverlay={0}memberof,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: posixGroup
olcMemberOfMemberAD: uniqueMember
olcMemberOfMemberOfAD: memberOf
 
dn: olcOverlay={1}refint,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {1}refint
olcRefintAttribute: memberof member manager owner uniqueMember
EOF
Toutes les inclusions d'utilisateurs faite à des groupes avant l'activation de ces modules ne seront pas pris en compte.