LINUX.ORG.RU
ФорумAdmin

[LDAP]Как допиливать схему для OpenLDAP?


0

0

Хочу на локалхосте поставить Foswiki с аутентификацией пользователей по LDAP'ному справочнику. OpenLDAP запустил со схемами core, cosine, inetorgperson и nis. MigrationTools'ами создал и загрузил base.ldif, passwd.ldif и group.ldif. LDIF для каждого пользователя выглядит примерно так:

dn: uid=camel,ou=People,dc=otherdomain,dc=com
uid: camel
cn: camel
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {CRYPT}wF.kUlbCqQE5.
shadowLastChange: 14261
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/camel

То есть атрибутов gn и sn нету, а их хочется добавить, поскольку в Foswiki имена пользователей должны быть из двух слов (например ИмяФамилия или ТролльОбыкновенный). Однако добавить их не получается, выдаёт такую ошибку

ldapadd: Object class violation (65)
additional info: attribute 'givenName' not allowed

Вопрос, как правильно их добавить в схему? Обилие чиселок смущает, всякие OID и SYNTAX. Есть где-нибудь учебник по написанию схем доступный пониманию простых смертных?

★★★★★

Re: [LDAP]Как допиливать схему для OpenLDAP?

А добавление objectClass: inetOrgPerson не помогает? Они, вроде, не конфликтуют по атрибутам с posixAccount.

undertaker ★★ ()
Ответ на: Re: [LDAP]Как допиливать схему для OpenLDAP? от undertaker

Не помогает.

Нэ понимаю. Посмотрел LDIF на работающем сервере, там у пользователей есть и sn, и gn. Добавил пару objectclass'ов, не помогло.

# cat ldapman.ldif
dn: uid=ldapman,ou=People,dc=otherdomain,dc=com
uid: ldapman
cn: ldapman
gn: Ldap
sn: Man
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
userPassword: {crypt}$1$h8QSf6XQd4uABqKruOeBi0
shadowLastChange: 14261
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/ldapman

# ldapadd -x -W -D "cn=admin,dc=otherdomain,dc=com" -f ldapman.ldif
adding new entry "uid=ldapman,ou=People,dc=otherdomain,dc=com"
ldapadd: Object class violation (65)
additional info: invalid structural object class chain (account/person)

Camel ★★★★★ ()
Ответ на: Не помогает. от Camel

Re: Не помогает.

>additional info: invalid structural object class chain (account/person)
account и person конфликтуют и не могут быть в одном объекте

dimon555 ★★★★★ ()
Ответ на: Re: Не помогает. от dimon555

account и person конфликтуют.

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

dn: uid=ldapman,ou=People,dc=otherdomain,dc=ru
uid: ldapman
cn: ldapman
gn: Ldap
sn: Man
#objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
objectClass: person
objectClass: inetOrgPerson
№objectClass: organizationalPerson
userPassword: {crypt}$1$h8W5ht/5$CTQSf6XQd4uABqKruOeBi0
shadowLastChange: 14261
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/ldapman


Спасибо вам.

Camel ★★★★★ ()

Re: [LDAP]Как допиливать схему для OpenLDAP?

> Обилие чиселок смущает, всякие OID и SYNTAX.

Присоединяюсь :)

> Есть где-нибудь учебник по написанию схем доступный пониманию простых смертных?

Метод научного тыка мне помогал ;)

const86 ★★★★★ ()

Re: [LDAP]Как допиливать схему для OpenLDAP?

Осильте наконец ASN.1. Всё очень упростится :)

zenith ★★★ ()

Re: [LDAP]Как допиливать схему для OpenLDAP?

"Проектируем справочную службу с помощью протокола LDAP"
Михаил Кондрин, <mkondrin из hppi.troitsk.ru>, 5 декабря 2007 г.

http://post.hppi.troitsk.ru/~mike/LDAP/ldap.html

pacify ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.