Atribut memberLDD OpenLDAP tidak diperbarui setelah pembaruan grup

8

Saya memiliki pengaturan OpenLDAP pada Debian 7.1, (OpenLDAP 2.4.31), dan saya mencoba mengatur overlay memberof. Konfigurasi saya sama seperti saya telah membaca di banyak situs di internet, namun, tetap tidak berfungsi untuk saya.

Masalahnya adalah bahwa atribut memberOf entitas hanya diperbarui ketika saya membuat grup, tetapi tidak diperbarui ketika saya memodifikasi atau menghapus grup. Sebenarnya masalah yang sama ini pernah ditanyakan sebelumnya di sini: Bagaimana cara mengkonfigurasi Reverse Group Membership Maintenance di server openldap? (memberOf) , tetapi bahkan jika dicentang sebagai dijawab, saya tidak dapat menemukan informasi yang dapat digunakan dalam jawaban. (Bahkan poster aslinya tidak bisa melakukan apa pun dengan jawaban sesuai dengan komentar ...)

Konfigurasi saya seperti ini: 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

Dan untuk modul: 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

Grup yang saya tambahkan:

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

Kueri yang saya jalankan:

$ 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

Jadi masalahnya bukan pada bagaimana cara menanyakan atribut, tetapi setelah memodifikasi atau menghapus grup, hasil pencarian tidak berubah ...

Pembaruan : Adapun jawaban Brian, saya juga mengatur tampilan refint, dengan konfigurasi berikut:

$ 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

Tapi itu tidak memperbaiki anggota overlay, juga tidak bekerja dengan sendirinya. Ketika saya mengubah nama anggota grup, atribut anggota grup tidak diperbarui. Mungkinkah kedua masalah ini terkait?

Peter B
sumber
Sudahkah Anda menemukan masalah ini? Saya mendapatkan hal yang sama.
Ethan Xu
@YangXu - tidak, saya tidak bisa menyelesaikan masalah ini pada waktu itu, dan hanya mengambil jalur yang berbeda, tidak melibatkan plugin memberOf. Kemudian, beberapa bulan yang lalu saya harus mengatur sesuatu yang serupa di server lain, dan itu berhasil untuk pertama kalinya. Sekarang saya membandingkan konfigurasi server baru dengan konfigurasi yang saya taruh di sini, dan satu-satunya perbedaan yang saya temukan adalah bahwa pada server baru database backend adalah mdb, sedangkan dalam kasus lama ini adalah hdb. Yang mana yang Anda gunakan? Jika hdb, dapatkah Anda mencoba bermigrasi ke mdb? Jika itu menyelesaikan masalah, dapatkah Anda menjawab pertanyaan ini dengan itu? Terima kasih!
Peter B

Jawaban:

0

Sepertinya Anda mungkin perlu mengkonfigurasi overlay refint, yang membantu menjaga integritas referensial direktori dalam situasi seperti yang Anda jelaskan. Ada halaman di http://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrity yang mungkin membantu dalam menyiapkan hamparan ini.

Brian Showalter
sumber
Sebenarnya saya sudah mencoba overlay refint sebelumnya, karena di beberapa tempat mereka disebutkan bersama. Tetapi itu tidak membantu. :( Dan sebenarnya, refint juga tidak berfungsi, seolah-olah saya mengganti nama pengguna, atribut "anggota" dari groupOfNames tidak diperbarui. Mungkin kedua masalah ini terkait?
Peter B
Hanya untuk mengonfirmasi, apakah Anda menggunakan DN entri anggota untuk menunjukkan bahwa itu adalah anggota grup Anda?
Brian Showalter
Ya, seperti member: cn=testuser,ou=users,dc=x,dc=y.
Peter B
0

Kami memiliki masalah yang sama (gejala yang sama seperti yang Anda gambarkan). Ternyata kami tidak ada olcRootDNdi dn: olcDatabase={1}hdb,cn=configJadi tambahkan (misalnya) di olcRootDN: cn=admin,cn=configsana.

Stevko
sumber