如何在Oracle Directory Server Enterprise Edition中添加/启用memberOf属



我确认在Oracle Directory Server中启用了MemberOf Plugin, memberOf属性在Schema: Attributes的Standard Attributes列表中。在memberOf属性的详细信息中,Used as Allowed by列表中有三个条目:inetAdmin, inetUser, nsManagedPerson

但是并非所有的用户帐户都属于它们。相反,它们有ObjectClass: inetOrgPerson, organizationalPerson, person, top。而且我似乎无法为用户添加额外的ObjectClass。

如何启用或添加memberOf属性到现有用户帐户?它如何自动向所有用户帐户填充组名或DN ?

正如ixe013所指出的,ODSEE将其属性命名为"isMemberOf"而不是"memberOf"。在OpenLDAP上,您的搜索将如下所示:

ldapsearch -x -w password -D "uid=abergin,ou=People,dc=odsee-qa,dc=qa,dc=abc,dc=com" -b "uid=abergin,ou=People,dc=odsee-qa,dc=qa,dc=abc,dc=com" '(objectclass=*)' "memberOf"

对于ODSEE,您将使用以下命令:

ldapsearch -x -w password -D "uid=abergin,ou=People,dc=odsee-qa,dc=qa,dc=abc,dc=com" -b "uid=abergin,ou=People,dc=odsee-qa,dc=qa,dc=abc,dc=com" '(objectclass=*)' "isMemberOf"

返回如下内容:

version: 1
dn: uid=abergin, ou=People, dc=odsee-qa,dc=qa,dc=abc,dc=com
isMemberOf: cn=QA Managers,ou=groups,dc=odsee-qa,dc=qa,dc=abc,dc=com
isMemberOf: cn=Accounting Managers,ou=groups,dc=odsee-qa,dc=qa,dc=abc,dc=com

我不再使用旧的DSEE了,但是如果我没有记错的话,memberOf属性是由目录服务器根据组成员关系生成的,而不是添加到条目中。例如,如果一个组具有以下属性:

dn: cn=staff,ou=groups,dc=example,dc=com
objectClass: top
objectClass: groupOfUniqueNames
objectClass: posixGroup
description: The 'staff' group.
cn: staff
gidNumber: 50
memberUid: debianuser
memberUid: user1
uniqueMember: uid=user1,ou=people,dc=example,dc=com

条目user1具有以下属性:

dn: uid=user1,ou=people,dc=example,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: user1
cn: my-common-name
sn: my-surname
loginShell: /bin/bash
userPassword: {SSHA512}SCMmLlStPIxVtJc8Y6REiGTMsgSEFF7xVQFoYZYg39H0nEeDuK/fWxxNZ
 CdSYlRgJK3U3q0lYTka3Nre2CjXzeNUjbvHabYP
homeDirectory: /home/user1
uidNumber: 1002
gidNumber: 50
shadowLastChange: 15645

请求memberOf属性会产生以下结果:

ldapsearch -LLLh localhost -p 1389 -D cn=RootDN -w xxxxxx -b uid=user1,ou=people,dc=example,dc=com -s base -l1 -z1 '(&)' memberOf
dn: uid=user1,ou=people,dc=example,dc=com
memberOf: cn=staff,ou=groups,dc=example,dc=com

memberOf属性不是物理属性,而是虚拟属性

如果LDAP客户端不能将objectClass属性添加到条目中,可能有以下原因:

  • LDAP客户端的授权状态不允许客户端修改条目
  • LDAP客户端正在尝试向条目添加第二个结构化objectClass属性。多个结构对象类是非法的,但是一些旧Sun DSEE的坏版本允许它。

最新更新