2016-05-20 34 views
0

我在ldapsearch的查询中使用memberOf过滤器遇到了问题。客户正在使用`OpenLDAP。ldapsearch的过滤器的memberOf组返回任何结果

我有3名成员

Members of User Group X

当我查询使用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语法正确吗?

+0

你得到任何的memberOf值与第一搜索? –

+0

@BertoldKolics - 感谢您的回复。当我查看用户'xyz'女巫是结果集中X组的成员之一时,没有'memberOf'字段。 – shimon001

+0

我应该要求你用'memberOf'从第一个搜索查询的末尾替换'1.1'。如果你仍然没有得到'memberOf'值,那么你很可能使用了一个内置的组。 –

回答

2
  • 请与您的管理,以确保memberOfenabled OpenLDAP服务器
  • 请与您的管理员是允许匿名访问到这个属性上
+3

请注意,如果尚未启用,则启用'memberOf'叠加层不会影响现有条目。'memberOf'属性只能通过对DIT进行的更改进行维护。 – EJP

+1

@EJP - 很好,非常感谢! – shimon001

+0

@EJP我只想感谢您撰写此评论。我有一个组只有一半的条目是在启用memberOf之后做出的......所以只有在使用过滤器时显示的那些条目。这让我疯狂! –

相关问题