我遇到了一些问题" ismemberof"在OpenDj上。
我希望在OpenDj中有一个用户(例如" uid = jdoe,ou = people,dc = example,dc = com"),这可以做一个" isMemberof" - 查询。问题出在默认情况下,OpenDj中的User-DN无法执行" isMemberOf" -Querys。
结果显示:
ldapsearch -h host -p port -D "uid=jdoe,ou=people,dc=example,dc=com" -W "(isMemberOf=cn=cn=group1,ou=groups,dc=example,dc=com)"
extended LDIF
LDAPv3
base <ou=people,dc=example,dc=com> with scope subtree>
filter:(isMemberOf=cn=group1,ou=groups,dc=example,dc=com)
requesting: ALL
search result
search: 2
result: 0 Success
numResponses: 1
如果我给User-DN&#34; bypass-acl&#34;特权,而不是查询显示该组的所有成员。但是特权&#34;绕过-acl&#34;给用户DN也&#34;修改&#34;权利。
我只想拥有一个User-DN,它只能执行&#34; isMemberOf&#34; -Query is nothing else。我用ACI试过这个:
cat test.ldif
dn: uid=jdoe,ou=people,dc=example,dc=com
changetype: modify
add: aci
aci: (target="ldap:///\*,dc=example,dc=com) (targetattr = "\*")(version 3.0;acl "Search and >Read "; allow (search, write)(userdn = "ldap:///uid=jdoe,ou=people,dc=example,dc=com");)
失败。
有人有想法吗? :/
最好的问候,
Ironchunk
答案 0 :(得分:1)
看起来jdoe没有权限搜索/正确搜索组织。 但是没有获取条目的详细原因可能会在日志/访问文件中公开。 检查搜索结果日志消息以查看是否有某些信息。
您是否尝试将ACI置于dc = example,dc = com级别?通常,您不会在用户条目中将ACI特定于用户,而是在ACI适用的分支中。
aci:(targetattr!=“userPassword”)(版本3.0; acl“搜索和读取 对于uid = jdoe除了密码“;允许(读取,搜索,比较) 用户DN = “LDAP:/// UID = jdoe的,OU =人,DC =例如,DC = COM”)
此致
朱利