J'ai une configuration OpenLDAP sur Debian 7.1, (OpenLDAP 2.4.31), et j'essaie de configurer la superposition memberof. Ma configuration est identique à celle que j'ai lue sur de nombreux sites sur Internet, mais elle ne fonctionne toujours pas pour moi.
Le problème est que les attributs memberOf des entités ne sont mis à jour que lorsque je crée un groupe, mais ne sont pas mis à jour lorsque je modifie ou supprime un groupe. En fait, ce même problème a déjà été posé ici: comment configurer la maintenance inversée de l'appartenance à un groupe sur un serveur openldap? (memberOf) , mais même si la réponse est cochée, je n'ai trouvé aucune information utilisable dans les réponses. (Même l'affiche originale n'a rien pu faire avec les réponses selon les commentaires ...)
Ma configuration est la suivante: cn = config / cn = module {0} .ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}memberof
structuralObjectClass: olcModuleList
Et pour le module: cn = config / olcDatabase = {1} hdb / olcOverlay = {0} memberof.ldif
dn: olcOverlay={0}memberof
objectClass: olcMemberOf
objectClass: olcOverlayConfig
olcOverlay: {0}memberof
structuralObjectClass: olcMemberOf
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
olcMemberOfRefInt: TRUE
Le groupe que j'ajoute:
dn: cn=test,ou=services,dc=x,dc=y
cn: test
objectClass: groupOfNames
objectClass: top
description: test group
member: cn=Almafa Teszt,ou=users,dc=x,dc=y
La requête que j'exécute:
$ ldapsearch -LLL -h localhost -x -D cn=admin,dc=x,dc=y -b u=users,dc=x,dc=y -W '(memberOf=cn=test,ou=services,dc=x,dc=y)' memberOf
Le problème n'est donc pas de savoir comment interroger l'attribut, mais qu'après avoir modifié ou supprimé le groupe, le résultat de la recherche ne change pas ...
Mise à jour : Quant à la réponse de Brian, j'ai également mis en place une superposition de refint, avec la configuration suivante:
$ ldapsearch -LLL -b cn=module{0},cn=config
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}memberof.la
olcModuleLoad: {2}refint
$ ldapsearch -LLL -b olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
dn: olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {1}refint
olcRefintAttribute: memberof member manager owner
Mais ni elle n'a fixé le membre de la superposition, ni elle n'a fonctionné en soi. Lorsque j'ai modifié le nom d'un membre d'un groupe, l'attribut membre du groupe n'a pas été mis à jour. Ces deux problèmes pourraient-ils être liés?