我确认在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
如果LDAP客户端不能将memberOf
属性不是物理属性,而是虚拟属性。objectClass
属性添加到条目中,可能有以下原因: