Как добавить / включить атрибут memberOf в Oracle Directory Server Enterprise Edition

Я подтверждаю, что MemberOf Plugin включен в Oracle Directory Server, memberOf атрибут находится в списке стандартных атрибутов в схеме: атрибуты. В подробностях атрибута memberOf есть три записи в Used as Allowed by список: inetAdmin, inetUser, nsManagedPerson,

Но все учетные записи пользователей не принадлежат им. Вместо этого у них есть ObjectClass: inetOrgPerson, organizationalPerson, person, top, И кажется, что я не могу добавить дополнительный ObjectClass для пользователя.

Как включить или добавить атрибут memberOf в существующую учетную запись пользователя? И как он может автоматически заполнять имя группы или DN всей учетной записи пользователя?

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

Я больше не использую устаревший 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 допускают это в любом случае.
Другие вопросы по тегам