L'attributo membro OpenLDAP non viene aggiornato dopo l'aggiornamento del gruppo


8

Ho una configurazione OpenLDAP su Debian 7.1, (OpenLDAP 2.4.31) e sto provando a configurare il membro di overlay. La mia configurazione è come ho letto in molti siti su Internet, tuttavia non funziona ancora per me.

Il problema è che gli attributi memberOf delle entità vengono aggiornati solo quando creo un gruppo, ma non vengono aggiornati quando modifico o cancello un gruppo. In realtà questo stesso problema è stato posto una volta qui prima: come configuro la manutenzione inversa dei gruppi su un server openldap? (memberOf) , ma anche se è selezionato come risposta, non sono riuscito a trovare alcuna informazione utilizzabile nelle risposte. (Anche il poster originale non poteva fare nulla con le risposte secondo i commenti ...)

La mia configurazione è così: 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 per il modulo: 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

Il gruppo che aggiungo:

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 query che eseguo:

$ 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

Quindi il problema non è su come interrogare l'attributo, ma che dopo aver modificato o rimosso il gruppo, il risultato della ricerca non cambia ...

Aggiornamento : Per quanto riguarda la risposta di Brian, ho anche impostato l'overlay di refint, con la seguente configurazione:

$ 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

Ma né riparava il membro della sovrapposizione, né funzionava da solo. Quando ho modificato il nome di un membro di un gruppo, l'attributo membro del gruppo non è stato aggiornato. Queste due questioni potrebbero essere correlate?


Hai capito questo problema? Sto diventando lo stesso.
Ethan Xu,

@YangXu - no, non ho potuto risolvere questo problema in quel momento, e ho solo preso una strada diversa, senza coinvolgere il plugin memberOf. Poi, qualche mese fa, ho dovuto installare qualcosa di simile su un altro server, e lì ha funzionato per la prima volta. Ora ho confrontato la configurazione del nuovo server con la configurazione che ho messo qui, e l'unica differenza che ho potuto individuare è che sul nuovo server il database di backend è mdb, mentre in questo vecchio caso è hdb. Quale usi? Se hdb, potresti provare a migrare su mdb? Se questo risolve il problema, potresti rispondere a questa domanda con quello? Grazie!
Peter B,

Risposte:


0

Sembra che potresti dover configurare l'overlay di refint, che aiuta a mantenere l'integrità referenziale di una directory in situazioni come quella che hai descritto. C'è una pagina su http://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrity che può essere utile per impostare questo overlay.


In realtà ho già provato la sovrapposizione di refint prima, poiché in alcuni punti sono stati menzionati insieme. Ma non ha aiutato. :( E in realtà, refint non funziona neanche, come se rinominassi un utente, l'attributo "membro" del gruppoOfNames non si aggiorna. Forse questi due problemi sono correlati?
Peter B

Solo per confermare, stai usando il DN di una voce membro per indicare che è un membro del tuo gruppo?
Brian Showalter,

Sì, mi piace member: cn=testuser,ou=users,dc=x,dc=y.
Peter B,

0

Abbiamo avuto lo stesso problema (stessi sintomi che descrivi). Si è scoperto che ci mancava olcRootDNnel nostro dn: olcDatabase={1}hdb,cn=configQuindi aggiungere (ad esempio) olcRootDN: cn=admin,cn=configlì.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.