【发布时间】:2016-05-20 16:45:20
【问题描述】:
我在 ldapsearch 查询中使用 memberOf 过滤器时遇到了问题。客户正在使用 `OpenLDAP。
我有一个有 3 个成员的用户组
当我使用 ldapsearch 查询用户时:
ldapsearch -h hostname -p 393 -x -z 3 -b "o=XY,dc=group,dc=com,dc=xyz,dc=cz" "(&(objectClass=person))" 1.1
我得到的结果还包含用户 XYZ。
# extended LDIF
#
# LDAPv3
# base <o=XYZ,dc=group,dc=com,dc=xyz,dc=cz> with scope subtree
# filter: (&(objectClass=person))
# requesting: 1.1
#
# XYZ, People, XY, xyz.com
dn: cn=XYZ,ou=People,o=XY,dc=group,dc=com,dc=xyz,dc=cz
...
# search result
search: 2
result: 4 Size limit exceeded
# numResponses: 4
# numEntries: 3
但是当我使用过滤器时:
ldapsearch -h hostname -p 393 -x -z 3 -b "o=XY,dc=group,dc=com,dc=xyz,dc=cz" "(&(objectClass=person)(memberOf=cn=X,ou=BusinessRoles,ou=AccessControl,o=XYZ,dc=group,dc=com,dc=xyz,dc=cz))"
我没有得到任何结果。
我在查询中有什么错误吗? memberOf 语法可以吗?
【问题讨论】:
-
第一次搜索时是否得到任何 memberOf 值?
-
@BertoldKolics - 感谢您的回复。当我查看用户“xyz”女巫是结果集中 X 组的成员之一时,没有“memberOf”字段。
-
我应该要求您将第一个搜索查询末尾的
1.1替换为memberOf。如果您仍然没有得到memberOf值,那么您很可能使用了内置组。 -
嗨,结果中没有
memberOf值,即使我在搜索查询中将1.1替换为memberOf。 -
问题是,我不知道分组的完成方式,我只是从 AD 读取数据(用户被分配到另一个应用程序中的组)。