OpenLDAPのmemberOf属性がグループの更新後に更新されない


8

Debian 7.1(OpenLDAP 2.4.31)でOpenLDAPを設定していて、memberofオーバ​​ーレイを設定しようとしています。私の構成は、インターネット上の多くのサイトで読んだようなものですが、それでもまだ機能しません。

問題は、エンティティの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

したがって、問題は属性のクエリ方法ではありませんが、グループを変更または削除した後、検索の結果は変更されません...

更新:ブライアンの答えについては、次の構成でrefintオーバーレイもセットアップしました。

$ 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

しかし、overlayのmemberを修正することも、それ自体で機能することもありません。グループのメンバーの名前を変更したときに、グループのメンバー属性が更新されませんでした。この2つの問題は関連していますか?


この問題を理解しましたか?私は同じになっています。
Ethan Xu

@YangXu-いいえ、現時点ではこの問題を解決できず、memberOfプラグインを使用せずに、別の方法を採用しました。次に、数か月前に他のサーバーに同様の設定をする必要があり、そこで初めて機能しました。ここで、新しいサーバーの構成とここで入力した構成を比較しました。唯一の違いは、新しいサーバーではバックエンドデータベースがmdbであるのに対し、この古いケースではhdbであることです。どちらを使いますか?hdbの場合、mdbに移行してみてください。それで問題が解決したら、この質問に答えていただけますか?ありがとう!
Peter B

回答:


0

refintオーバーレイを構成する必要があるかもしれません。これは、説明したような状況でディレクトリの参照整合性を維持するのに役立ちます。このオーバーレイの設定に役立つページがhttp://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrityにあります。


実際、私はすでにいくつかの場所で一緒に言及されているように、以前にrefintオーバーレイを試しました。しかし、それは助けにはなりませんでした。:(そして実際には、refintも機能しません。ユーザーの名前を変更した場合、groupOfNamesの "member"属性が更新されません。これらの2つの問題は関連しているのでしょうか?
Peter B

確認のために、メンバーエントリのDNを使用して、それがグループのメンバーであることを示していますか?
Brian Showalter、2013

はい、のように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.