Eu tenho uma configuração do OpenLDAP no Debian 7.1 (OpenLDAP 2.4.31) e estou tentando configurar o membro da sobreposição. Minha configuração é exatamente como eu li em muitos sites na Internet, no entanto, ainda não funciona para mim.
O problema é que os atributos memberOf das entidades são atualizados apenas quando crio um grupo, mas não são atualizados quando modifico ou excluo um grupo. Na verdade, esse mesmo problema já foi perguntado antes aqui: Como configurar a manutenção de associação reversa de grupo em um servidor openldap? (memberOf) , mas mesmo que esteja marcado como respondido, não foi possível encontrar nenhuma informação utilizável nas respostas. (Mesmo o pôster original não poderia fazer nada com as respostas de acordo com os comentários ...)
Minha configuração é assim: 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
E para o 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
O grupo que adiciono:
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
A consulta que eu executo:
$ 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
Portanto, o problema não é como consultar o atributo, mas depois de modificar ou remover o grupo, o resultado da pesquisa não muda ...
Atualização : Quanto à resposta de Brian, também configurei a sobreposição de refint, com a seguinte configuração:
$ 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
Mas nem ele fixou o membro da sobreposição, nem funcionou por si só. Quando modifiquei o nome de um membro de um grupo, o atributo de membro do grupo não foi atualizado. Esses dois problemas poderiam estar relacionados?
Respostas:
Parece que você pode precisar configurar a sobreposição de refint, o que ajuda a manter a integridade referencial de um diretório em situações como a que você descreveu. Há uma página em http://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrity que pode ser útil para configurar essa sobreposição.
fonte
member: cn=testuser,ou=users,dc=x,dc=y
.Tivemos o mesmo problema (mesmos sintomas que você descreve). Aconteceu que estávamos faltando
olcRootDN
no nossodn: olcDatabase={1}hdb,cn=config
So add (por exemplo)olcRootDN: cn=admin,cn=config
lá.fonte