没有成员的 GroupOfNames

没有成员的 GroupOfNames

我正在构建一个新的 LDAP 结构。我想将用于创建结构的 LDIF 脚本与用于创建用户的脚本分开。该结构必须应用于多台服务器 (DTAP),但用户将仅用于单元测试/开发。

但是当我创建我的组时,Apache DS(仅用于开发)告诉我member是的必需属性groupOfNames

ERR_279 在条目 cn=USER_ROLE, ou=groups, dc=company, dc=com 中未找到必需的属性 [member(2.5.4.31)]

更具体;我想要完成的是以下 LDIF。

### Create the group
dn: cn=USER_ROLE, ou=groups, dc=company, dc=com 
objectClass: groupOfNames 
objectClass:  top 
cn: USER_ROLE
# Not adding a member here

### Create the user
dn: uid=myUser, ou=accounts, dc=company, dc=com
objectClass: inetOrgPerson
objectClass: top
# More properties

### Add user to group
dn: cn=USER_ROLE, ou=groups, dc=company, dc=com 
changetype: modify
add: member
member: uid=myUser, ou=accounts, dc=company, dc=com

我尝试member:在初始创建组时添加一个空组。虽然可行,但留下了一个空成员,这看起来不是一个干净的解决方案。

答案1

groupOfNames对象必须具有一个cn属性和一个member属性(请参阅rfc2256 或查看您的模式定义)。

我很想听听其他人的意见,但据我所知,您的选择如下:

  • 浏览您的架构以查看是否存在任何其他在“MUST”限定符下没有成员属性的组类型对象,并使用它来代替groupOfNames

  • 使用现有的解决方法

  • 看看是否有人定义了更适合您需求的其他组对象,并将其添加到您的架构中

(或者这些,但不要这样做)

  • 定义您自己的自定义组对象并将其添加到您的架构中

  • 重新定义groupOfNames架构中的对象类,并member从“必须”变为“可以”。如果您有保修,这会破坏保修。

相关内容