El atributo memberOf de OpenLDAP no se actualiza después de la actualización del grupo

8

Tengo una configuración de OpenLDAP en Debian 7.1 (OpenLDAP 2.4.31), y estoy tratando de configurar el miembro de superposición. Mi configuración es tal como la he leído en muchos sitios en Internet, sin embargo, todavía no me funciona.

El problema es que los atributos memberOf de las entidades solo se actualizan cuando creo un grupo, pero no se actualizan cuando modifico o elimino un grupo. En realidad, este mismo problema se preguntó una vez antes aquí: ¿Cómo configuro el mantenimiento de membresía de grupo inverso en un servidor openldap? (memberOf) , pero incluso si está marcado como respondido, no pude encontrar ninguna información utilizable en las respuestas. (Incluso el póster original no pudo hacer nada con las respuestas según los comentarios ...)

Mi configuración es así: 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

Y para el módulo: 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

El grupo que agrego:

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 consulta que ejecuto:

$ 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

Entonces, el problema no es cómo consultar el atributo, sino que después de modificar o eliminar el grupo, el resultado de la búsqueda no cambia ...

Actualización : en cuanto a la respuesta de Brian, también configuré la superposición de reimpresión, con la siguiente configuración:

$ 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

Pero ni fijó el miembro de superposición, ni funcionó en sí mismo. Cuando modifiqué el nombre de un miembro de un grupo, el atributo de miembro del grupo no se actualizó. ¿Podrían estar relacionados estos dos problemas?

Peter B
fuente
¿Has resuelto este problema? Me estoy poniendo igual.
Ethan Xu
@YangXu: no, no pude resolver este problema en ese momento, y simplemente tomé un camino diferente, sin involucrar el complemento memberOf. Luego, hace unos meses tuve que configurar algo similar en otro servidor, y allí funcionó por primera vez. Ahora comparé la configuración del nuevo servidor con la configuración que puse aquí, y la única diferencia que pude detectar es que en el nuevo servidor la base de datos de back-end es mdb, mientras que en este viejo caso es hdb. ¿Cuál usas? Si es hdb, ¿podrías intentar migrar a mdb? Si eso resuelve el problema, ¿podría responder esta pregunta con eso? ¡Gracias!
Peter B

Respuestas:

0

Parece que puede necesitar configurar la superposición de reimpresión, lo que ayuda a mantener la integridad referencial de un directorio en situaciones como la que describió. Hay una página en http://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrity que puede ser útil para configurar esta superposición.

Brian Showalter
fuente
En realidad, ya probé la superposición de refintado antes, ya que en algunos lugares se mencionaron juntos. Pero no sirvió de nada. :( Y, de hecho, la impresión tampoco funciona, como si cambio el nombre de un usuario, el atributo "miembro" del groupOfNames no se actualiza. ¿Quizás estos dos problemas están relacionados?
Peter B
Solo para confirmar, ¿está utilizando el DN de una entrada de miembro para indicar que es un miembro de su grupo?
Brian Showalter
Si, como member: cn=testuser,ou=users,dc=x,dc=y.
Peter B
0

Tuvimos el mismo problema (los mismos síntomas que usted describe). Resultó que nos faltaba olcRootDNnuestro dn: olcDatabase={1}hdb,cn=configSo agregar (por ejemplo) olcRootDN: cn=admin,cn=configallí.

Stevko
fuente