组更新后,OpenLDAP memberOf属性不会更新

我在Debian 7.1(OpenLDAP 2.4.31)上有一个OpenLDAP设置,我试图设置成员的覆盖。 我的configuration就像我在整个互联网上的很多网站上阅读过的,但是,它仍然不适合我。

问题是,实体的memberOf属性只在创build组时更新,但在修改或删除组时不会更新。 其实这个问题曾经在这里问过: 如何在OpenLDAP服务器上configuration反向组成员维护? (memberOf) ,但即使被检查为答案,我也找不到答案中的任何可用信息。 (即使原来的海报也不能根据评论做出任何答案)

我的configuration是这样的: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 -bu=users,dc=x,dc=y -W '(memberOf=cn=test,ou=services,dc=x,dc=y)' memberOf 

所以问题不在于如何查询属性,而是在修改或删除组后,search结果不会更改…

更新 :至于布赖恩的答案,我也build立了重写覆盖,具有以下configuration:

 $ 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 

但是它既不固定叠加成员,也不能自行工作。 当我修改组的成员的名称时,组的成员属性未更新。 这两个问题可以相关吗?

这听起来像你可能需要configuration重写覆盖,这有助于维护目录的参照完整性的情况下,如你所描述的。 在http://www.zarafa.com/wiki/index.php/OpenLDAP_referential_integrity上有一个页面,可能有助于设置这个覆盖。

我们有同样的问题(与你描述的症状相同)。 事实certificate,我们在我们的dn: olcDatabase={1}hdb,cn=config中缺lessolcRootDN因此,在此添加(例如) olcRootDN: cn=admin,cn=config