【问题标题】:ldapsearch filter memberOf group returning no resultsldapsearch 过滤 memberOf 组不返回任何结果
【发布时间】: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 读取数据(用户被分配到另一个应用程序中的组)。

标签: ldap openldap


【解决方案1】:
  • 与您的管理员核实,确保 OpenLDAP 服务器上的 memberOfenabled
  • 与您的管理员确认是否允许匿名访问此属性

【讨论】:

  • 请注意,如果尚未启用,启用 memberOf 覆盖不会影响现有条目。 memberOf 属性将仅由从那时起对 DIT 所做的更改来维护。
  • @EJP 我只是想感谢您撰写此评论。我有一个小组,在启用 memberOf 之后只有一半的条目是......所以只有在使用过滤器时才会显示这些条目。这让我发疯了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-03
  • 2020-01-02
  • 2020-09-05
  • 2018-09-22
  • 1970-01-01
  • 2011-07-21
相关资源
最近更新 更多