我需要在 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)) 不起作用。我做错了什么?