Как добавить в openLDAP пользовательский объектный класс - PullRequest
0 голосов
/ 07 ноября 2018

Я должен клонировать данные между двумя серверами openLDAP. Я получаю LDIF из источника, но у меня проблема с импортом. У меня ошибка вроде root@dc:/etc/ldap/schema# ldapadd -Y external -H ldapi:/// -f /tmp/export.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 adding new entry "cn=Tomasz Topolski,ou=Pracownicy,dc=tropico,dc=local" ldap_add: Invalid syntax (21) additional info: objectClass: value #3 invalid per syntax

После поиска в Google я увидел, что проблема в 4-м объектном классе (потому что он начинает отсчитывать от 0), поэтому я проверяю и 4-й объектный класс в моем экспортированном ldif objectClass: user И главный вопрос. Как добавить этот объектный класс в мой LDAP?

1 Ответ

0 голосов
/ 08 ноября 2018

Если вы ищете миграцию всех конфигов, вы можете использовать slapcat с "-n 0" в качестве параметра для экспорта всех конфигов, включая схему. Затем можете сначала добавить схему, а затем данные.

Но, если нужен только этот конкретный объектный класс "пользователь", можно выполнить следующие шаги

  1. Создайте файл user.schema с содержимым, совпадающим с определением исходного пользовательского класса объекта OPENLDAP.
  2. Создать файл conf user.conf include ~ / user.schema
  3. Создайте каталог и запустите следующие команды

    mkdir userdir

    slaptest -f user.conf -F userdir

  4. Полученный файл в userdir можно использовать для добавления в схему

    останов службы сервиса

    slapadd -l -n 0

    запуск службы slapd

...