2016-04-28 4 views
0

Я совершенно новое в управлении LDAP, но я достаточно далеко ... На моем OpenLDAP сервера Я использую phpLDAPadmin сделать следующее:LDAP несколько структурных объектных классов

У меня есть запись с структурный objectclass account, потому что мне нужен атрибут host. Теперь я хочу добавить в эту запись атрибут mail, но это не отображается в списке при выборе Add new attribute.

Поэтому я думал, что могу добавить objectClass inetOrgPerson, который имеет атрибут mail, но этот объектClass отсутствует в списке классов, которые я могу добавить к этой записи; включены только неструктурные классы ...

Как добавить этот атрибут mail в запись со структурным классом account?

Это текущий LDIF для этого пользователя (с некоторыми частями изменены/удалены на частную жизнь)

 

# Entry 1: cn=intrixius,ou=Admins,ou=Managed,dc=bla,dc=eu 
dn: cn=intrixius,ou=Admins,ou=Managed,dc=bla,dc=eu 
cn: intrixius 
gecos: intrixius 
gidnumber: 500 
homedirectory: /home/intrixius 
host: host1 
host: host2 
loginshell: /bin/bash 
objectclass: top 
objectclass: account 
objectclass: posixAccount 
objectclass: shadowAccount 
objectclass: ldapPublicKey 
sshpublickey: ssh-rsa ... [email protected] 
uid: intrixius 
uidnumber: 16859 
userpassword: {CRYPT}$6$X... 

+0

Просьба представить более подробную информацию. С какой версией сервера LDAP вы работаете. Возможно, LDIF пользователя, о котором вы говорите. – jwilleke

ответ

0

Если вы можете изменить схему своего LDAP-сервера, вы можете создать новый вспомогательный класс с атрибутом «почта» и назначить его своей учетной записи. Некоторые реализации также поддерживают вспомогательный класс 'extensibleObject', который позволяет добавлять все атрибуты, определенные в схеме.

Хороший обзор о типах класса и т.д., можно найти here

+0

класс 'extensibleObject' сделал трюк. Теперь я могу добавить все, что захочу ... но это хорошая практика? – intrixius

+0

Если вам нужен только один дополнительный атрибут, я думаю, что extensibleObject является жизнеспособным решением. Как только вам понадобится больше атрибутов, группы атрибутов или атрибутов должны быть обязательными, я бы скорее изменил схему сервера (т. Е. Добавив дополнительный класс) – stefboe

1

Вы не можете иметь несколько классов КОНСТРУКЦИИ объектов, если они не образуют единую иерархию наследования.

+0

, то как я могу каким-то образом атрибут 'host' из' account' вместе с атрибутом 'mail' из' inetOrgPerson', если они оба являются структурными классами? – intrixius

+0

@intrixius Как я уже сказал, вы не можете. – EJP