Автор Тема: Инициализация нового сервера  (Прочитано 7041 раз)

marawu

  • Пользователь
  • **
  • Сообщений: 76
  • !
    • Просмотр профиля
Инициализация нового сервера
« : 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'

marawu

  • Пользователь
  • **
  • Сообщений: 76
  • !
    • Просмотр профиля
Re: Инициализация нового сервера
« Ответ #1 : 03 Октябрь 2017, 15:18:38 »
Разобрался, была ошибка в ситаксисе файла. Но что на счет изменения core.schema? Стоит ли это делать на лету? Или лучше полностью с нуля новый ldap создавать?

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Инициализация нового сервера
« Ответ #2 : 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 =) . История повторяется =) .

Егор