그룹 업데이트 후 OpenLDAP memberOf 속성이 업데이트되지 않습니다


8

데비안 7.1 (OpenLDAP 2.4.31)에 OpenLDAP 설정이 있고 오버레이 멤버를 설정하려고합니다. 내 구성은 인터넷을 통해 많은 사이트에서 읽은 것과 같지만 여전히 작동하지 않습니다.

문제는 엔터티의 memberOf 특성이 그룹을 만들 때만 업데이트되지만 그룹을 수정하거나 삭제할 때 업데이트되지 않는다는 것입니다. 실제로 동일한 문제가 여기 전에 한 번 제기되었습니다 . openldap 서버에서 리버스 그룹 멤버쉽 유지 관리를 어떻게 구성합니까? (memberOf) 이지만 답변으로 확인 된 경우에도 답변에서 사용 가능한 정보를 찾을 수 없습니다. (원래 포스터조차도 의견에 따라 답변으로 아무것도 할 수 없었습니다 ...)

내 구성은 다음과 같습니다. 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

그리고 모듈의 경우 : 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

내가 추가 한 그룹 :

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

내가 실행하는 쿼리 :

$ 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

따라서 문제는 속성을 쿼리하는 방법과 관련이 없지만 그룹을 수정하거나 제거한 후에는 검색 결과가 변경되지 않습니다.

업데이트 : Brian의 답변에 관해서는 다음 구성으로 리 핀트 오버레이도 설정했습니다.

$ 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

그러나 오버레이 멤버를 수정하거나 자체적으로 작동하지 않았습니다. 그룹 구성원의 이름을 수정해도 그룹의 구성원 속성이 업데이트되지 않았습니다. 이 두 가지 문제가 관련 될 수 있습니까?


이 문제를 알아 냈습니까? 나도 똑같아
Ethan Xu

@YangXu-아니요, 당시에는이 문제를 해결할 수 없었으며 memberOf 플러그인과 관련이없는 다른 경로를 사용했습니다. 그런 다음 몇 달 전에 다른 서버에서 비슷한 것을 설정해야했으며 처음에는 효과가있었습니다. 이제 새 서버의 구성을 여기에 넣은 구성과 비교했습니다. 새 서버에서 백엔드 데이터베이스는 mdb이지만이 경우에는 hdb라는 점만 다릅니다. 어느 것을 사용하십니까? hdb 인 경우 mdb로 마이그레이션 할 수 있습니까? 그래도 문제가 해결되면이 질문에 대답 할 수 있습니까? 감사!
피터 B

답변:


0

리 핀트 오버레이를 구성해야하는 것처럼 들리는데, 이는 설명한 것과 같은 상황에서 디렉토리의 참조 무결성을 유지하는 데 도움이됩니다. http://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrity 에이 오버레이 설정에 도움이 될 수 있는 페이지 가 있습니다.


실제로 나는 이미 언급 된 곳에서 이미 리 핀트 오버레이를 시도했습니다. 그러나 도움이되지 않았습니다. :( 그리고 실제로 사용자 이름을 바꾸는 것처럼 refint도 작동하지 않습니다. groupOfNames의 "member"속성이 업데이트되지 않습니다.이 두 가지 문제가 관련이 있습니까?
Peter B

확인하기 위해 구성원 항목의 DN을 사용하여 그룹의 구성원임을 표시합니까?
Brian Showalter

그렇습니다 member: cn=testuser,ou=users,dc=x,dc=y.
피터 B

0

동일한 문제가 발생했습니다 (설명한 것과 동일한 증상). 그것은 우리가 누락 된 밝혀졌다 olcRootDN우리에 dn: olcDatabase={1}hdb,cn=config따라서 추가 기능 (예를 들어) olcRootDN: cn=admin,cn=config가.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.