====== 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.