2012-12-21 31 views
0

我確認MemberOf Plugin已在Oracle Directory Server中啓用,memberOf屬性位於Schema:Attributes中的Standard Attributes列表中。在memberOf屬性的詳細信息中,Used as Allowed by列表中有三個條目:inetAdmininetUsernsManagedPerson如何在Oracle Directory Server Enterprise Edition中添加/啓用memberOf屬性

但是,所有用戶帳戶都不屬於他們。相反,它們具有ObjectClass:inetOrgPersonorganizationalPerson,person,top。看來我不能向用戶添加額外的ObjectClass。

如何啓用或添加memberOf屬性到現有的用戶帳戶?它如何自動填充所有用戶帳戶的組名或DN?

回答

0

我不再使用傳統的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的一些破損版本無論如何都允許它。
+0

請求命令線對我不起作用。結果是'version:1,dn:uid = adminUser,ou = People,dc = example,dc = com',沒有memberOf屬性。 – jimmyk

+0

有一個操作屬性名稱爲「isMemberOf」。 – ixe013

2

正如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 
相關問題