Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Схема данных, наборы Schema, объектные классы, атрибуты и другое => Тема начата: marawu от 03 Октябрь 2017, 15:12:12

Название: Инициализация нового сервера
Отправлено: marawu от 03 Октябрь 2017, 15:12:12
Добрый день, пытаюсь установить сервер openLDAP на centOS 7. Дропнул каталог slapd.d и пытаюсь создать  cn=config, но получаю ошибку:



[root@ldap01 openldap]# slapadd -n 0 -F /etc/openldap/slapd.d -l /root/1.init.ldif
59d37d19 str2entry: entry -1 has multiple DNs "cn=config" and "olcDatabase={0}config,cn=config"
slapadd: could not parse entry (line=1)
_#################### 100.00% eta   none elapsed            none fast!


Нужно это затем, что я не могу портировать нужные мне данные, так как на старом сервере была нестандартная схема core.


Может быть можно изменить такую зависимость:



59d35756 Entry (cn=XXXX.dept,ou=Groups,dc=example,dc=com): object class 'groupOfUniqueNames' requires attribute 'uniqueMember'
slapadd: dn="cn=XXXX.dept,ou=Groups,dc=example,dc=com" (line=57522): (65) object class 'groupOfUniqueNames' requires attribute 'uniqueMember'
Название: Re: Инициализация нового сервера
Отправлено: marawu от 03 Октябрь 2017, 15:18:38
Разобрался, была ошибка в ситаксисе файла. Но что на счет изменения core.schema? Стоит ли это делать на лету? Или лучше полностью с нуля новый ldap создавать?
Название: Re: Инициализация нового сервера
Отправлено: egor от 04 Октябрь 2017, 07:13:30
Здравствуйте!
Но что на счет изменения core.schema? Стоит ли это делать на лету? Или лучше полностью с нуля новый ldap создавать?
Я вообще не сторонник курочить схему данных, тем более стандартную. Но сделать можно, в том числе и на "лету". Сначала найдите номер нужного класса:
ldapsearch -LLL -Y EXTERNAL -H ldapi:// -b cn={0}core,cn=schema,cn=config -o ldif-wrap=no | grep groupOfUniqueNames
Enter LDAP Password:
olcObjectClasses: {15}( 2.5.6.17 NAME 'groupOfUniqueNames' DESC 'RFC2256: a group of unique names (DN and Unique Identifier)' SUP top STRUCTURAL MUST ( uniqueMember $ cn ) MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description ) )

Затем сделайте такой LDIF:
dn: cn={0}core,cn=schema,cn=config
changetype: modify
delete: olcObjectClasses
olcObjectClasses: {15}
-
add: olcObjectClasses
olcObjectClasses: {15}( 2.5.6.17 NAME 'groupOfUniqueNames' DESC 'RFC2256: a group of unique names (DN and Unique Identifier)' SUP top STRUCTURAL MUST cn MAY ( businessCategory $ seeAlso $ owner $ ou $ o $ description $ uniqueMember) )

Сделайте резервные копии cn=config и баз данных, а потом выполните модификацию:
ldapmodify -Y EXTERNAL -H ldapi://  -f mod_objectclass.ldif

Забавно, но один товарищ уже модифицировал groupOfUniqueNames (https://pro-ldap.ru/forum/index.php?topic=260.msg577#msg577) =) . История повторяется =) .

Егор