【问题标题】:How to query LDAP for email addresses of posixGroup members?如何在 LDAP 中查询 posixGroup 成员的电子邮件地址?
【发布时间】:2011-11-01 11:28:31
【问题描述】:

我正在运行一个 OpenLDAP 服务器,其中包含 posixGroup 类型的组和 inetOrgPerson 类型的用户。

我需要为指定组中的用户提取电子邮件地址属性。

posixGroup 类型只将成员的 uid 存储在一个名为 memberUid 的属性中。

inetOrgPerson 类型不存储组成员信息。

所以基本上我需要查询一个组,提取用户 ID,使用这些用户 ID 找到匹配的 inetOrgPerson 节点,然后获取邮件属性。

我希望能够在一个过滤后的查询中完成所有这些,但我似乎无法找到正确的语法来实现它。这种情况似乎比我在谷歌上找到的大多数示例查询更复杂。

此外,如果可能(在 Ubuntu 上),我会尝试从 sh 脚本中完成所有这些操作,因此我可以使用 ldapsearch 命令。

有什么想法吗?

【问题讨论】:

    标签: ldap openldap


    【解决方案1】:

    这是叠加层成员的工作。它在每个用户中维护一个“memberOf”属性,例如,这是每个组中 memberUID 的反向映射。然后您只需过滤 (&(objectClass=inetOrgPerson)(memberOf={0})) 其中 {0} 成为组名称。

    【讨论】:

    • 它真的有效吗?我对memberof 覆盖文档的阅读是,它需要包含完整DN 的组上的member 属性,而posixGroup 仅存储memberUid。这需要额外的信息来解决(例如,您在树中的哪个位置搜索?)。
    • 确实 memberof 似乎只适用于 member 属性,而不是 posixGroup 中的 memberUid
    猜你喜欢
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    相关资源
    最近更新 更多