在 slapd (Apple Open Directory) 中将 posixGroup 动态转换为 groupOfNames

pau*_*kow 5 ldap mac-osx-server opendirectory

我正在设置一个应用程序以使用 LDAP 对 Open Directory 进行身份验证。

Open Directory 以 RFC 2307 posixGroups 格式存储组,如下所示:

cn: mygroup
objectClass: top
objectClass: apple-group
objectClass: posixGroup
apple-group-memberguid: AA7B69F2-84E1-4ED3-AEC6-25AD976DB1C7
memberUid: noa
Run Code Online (Sandbox Code Playgroud)

但是应用程序希望组采用 LDAP 核心架构 groupOfNames 格式的样式,如下所示:

cn: mygroup
objectClass: top
objectClass: groupOfNames
member: uid=noa,cn=users,dc=myserver,dc=example,dc=private
Run Code Online (Sandbox Code Playgroud)

换句话说,目录服务器提供了一个不合格的 uid,而应用程序需要一个 DN。

如何将 slapd 配置为:

  1. 动态提供一个看起来像的实体groupOfNames(从上面复制):

    cn: mygroup
    objectClass: top
    objectClass: groupOfNames
    member: uid=noa,cn=users,dc=myserver,dc=example,dc=private
    
    Run Code Online (Sandbox Code Playgroud)
  2. 或者使用组成员的 DN 动态发出额外的属性,如下所示:

    cn: mygroup
    objectClass: top
    objectClass: apple-group
    objectClass: posixGroup
    apple-group-memberguid: AA7B69F2-84E1-4ED3-AEC6-25AD976DB1C7
    memberUid: noa
    memberDn: uid=noa,cn=users,dc=myserver,dc=example,dc=private
    
    Run Code Online (Sandbox Code Playgroud)

似乎 OpenLDAP 覆盖可以做到这一点,但我正在寻找有关详细信息的帮助。

(该应用程序的BusinessObjects的Crystal Reports Server。支持说,他们不支持OpenLDAP的,但研究它们的目录服务器之后支持,相信这应该与一些翻译的工作有所帮助。我可以配置类和属性的名称,但重申一下,该组必须提供使用 DN 而不是 UID 的成员。)