1

我需要在 LDAP 中添加 memberOf 功能。我按照以下方法添加了它:

www.redmine.org/projects/redmine/wiki/RedmineLDAP

我使用了两个 ldif 文件

1.1。创建一个文件:

vim ~/memberof_add.ldif

有以下内容:

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: memberof

1.2. 创建一个文件:

vim ~/memberof_config.ldif

有以下内容:

dn: olcOverlay=memberof,olcDatabase={1}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf

1.3. 加载它们。这将取决于您的 OpenLDAP 配置,因此我们将提出一些可能性:

sudo ldapadd -c -Y EXTERNAL -H ldapi:/// -f memberof_add.ldif sudo ldapadd -c -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif

我使用以下方法搜索了结果:

slapcat -n0

...
dn: cn=module{1},cn=config
objectClass: olcModuleList
cn: module{1}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}memberof
structuralObjectClass: olcModuleList
entryUUID: a003c770-44e7-1034-923d-03c05c94b3e6
creatorsName: cn=admin,cn=config
createTimestamp: 20150209204027Z
entryCSN: 20150209204027.668960Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20150209204027Z
...
dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
structuralObjectClass: olcMemberOf
entryUUID: ac4d073a-44e7-1034-8da6-23aa1bbfe554
creatorsName: cn=admin,cn=config
createTimestamp: 20150209204048Z
entryCSN: 20150209204048.281615Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20150209204048Z

如我所见,它存在,但查询如

(&(objectClass=posixAccount)(memberOf=cn=ldapredmine,ou=groups,dc=example,dc=com)) 不起作用。我做错了什么?

4

1 回答 1

1

memberof覆盖仅从安装时起维护该属性。已经存在的条目在更新之前不会受到影响。

于 2015-02-09T21:44:25.967 回答