组更新后未更新 OpenLDAP memberOf 属性

Pet*_*r B 8 openldap ldap

我在 Debian 7.1 (OpenLDAP 2.4.31) 上有一个 OpenLDAP 设置,我正在尝试设置 memberof 覆盖。我的配置就像我在互联网上的许多站点上阅读过的一样,但是,它仍然对我不起作用。

问题是实体的 memberOf 属性仅在我创建组时更新,而在我修改或删除组时不会更新。实际上,之前曾在这里问过同样的问题:How do I configure Reverse Group Membership Maintenance on an openldap server? (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
Run Code Online (Sandbox Code Playgroud)

对于模块: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
Run Code Online (Sandbox Code Playgroud)

我添加的组:

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
Run Code Online (Sandbox Code Playgroud)

我运行的查询:

$ 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
Run Code Online (Sandbox Code Playgroud)

所以问题不在于如何查询属性,而是修改或删除组后,搜索结果并没有改变......

更新:至于布赖恩的回答,我还使用以下配置设置了 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
Run Code Online (Sandbox Code Playgroud)

但它既没有固定成员覆盖,也没有它本身工作。当我修改组成员的名称时,该组的成员属性没有更新。这两个问题可能有关联吗?

小智 0

听起来您可能需要配置重新构建覆盖,这有助于在您所描述的情况下维护目录的引用完整性。http://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrity上有一个页面可能有助于设置此覆盖。