Автор Тема: Как перенести базу LDAP на другой сервер?  (Прочитано 6917 раз)

Оффлайн asterix81

  • Участник
  • *
  • Сообщений: 150
 Хочу изменить основной домен и переустановить систему на сервере. Пытаюсь перенести базу LDAP,400 учеников, на другой сервер, через Alterator нажимаю сохранить файл LDIF выдает ошибку переполнения.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Хочу изменить основной домен и переустановить систему на сервере. Пытаюсь перенести базу LDAP,400 учеников, на другой сервер, через Alterator нажимаю сохранить файл LDIF выдает ошибку переполнения.
Да, это пока не работает. Или через slapcat в консоли или через getent/ldap-useradd (но будут потеряны пароли).
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Интересный и актуальный вопрос.
Кто-нибудь реально переносил базу с помощью этих утилит ?
С какими проблемами пришлось столкнуться ?
Всё руки никак не доходят на ВМ попробовать...
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Всё руки никак не доходят на ВМ попробовать...
На скорую руку установил.
Создал 3 пользователя, потом 3 группы и потом ещё 2 пользователя.
Далееslapcat -b "dc=firma" -l firma.ldifПотом остановил slapd, почистил все файлы в /var/lib/ldap/bases/firma/* кроме DB_CONFIG, вернул обратно базу slapadd -l firma.ldifТеперь при запуске krb5kdc ошибка:
krb5kdc: cannot initialize realm FIRMA - see log file for detailsЧто я упустил ?

Про пароли конечно плохо, но это думаю поправимо, т.к. список пользователей + пароль имеется.

Также интересую смена имени домена, полагаю, что что-то придётся править вручную...
« Последнее редактирование: 18.03.2014 19:14:31 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Перенос баз полностью – процесс нетривиальный. Проще создать домен и через ldap_useradd импортировать пользователей. Онии в Kerberos создадуться.
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Перенос баз полностью – процесс нетривиальный. Проще создать домен и через ldap_useradd импортировать пользователей. Онии в Kerberos создадуться.
Спасибо, сейчас так и подумал попробовать :-)
« Последнее редактирование: 18.03.2014 19:42:45 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Так,.. понятно,.. нужно разбираться...
Сноси Винду, переходи на Линукс ! :)

Оффлайн asterix81

  • Участник
  • *
  • Сообщений: 150
Перенос баз полностью – процесс нетривиальный. Проще создать домен и через ldap_useradd импортировать пользователей. Онии в Kerberos создадуться.
Я через slapcat -l >ldap.ldif   сохранил базу на 1 сервере, перенес файл на 2 сервер, через альтератор создаю новую базу и пока пользователей не обнаружил, что делать нужно конкретно для копирования пользователей?

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Я так понял, что самое простое будет сделать так, на рабочем сервере выполнитьldap-getent passwdиldap-getent groupСохранить это дело в файл.
После, на новом сервере создать домен и с помощью скриптов ldap-useradd/ldap-groupadd внести этих самых пользователей и группы. Тут ведь важно только сохранить UID/GID, так что должно сработать. Пароли придётся также через скрипт ldap-passwd внести в базу.
Вот. Надо пробовать...
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Только вот сейчас заметил, что в скриптах нет возможности указать UID/GID...
Тогда...
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Только вот сейчас заметил, что в скриптах нет возможности указать UID/GID...
Тогда...
http://www.altlinux.org/Domain/Scripts#ldap-usermod
может менять любое поле кроме использованных в dn. То есть uidNumber и gidNumber
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
http://www.altlinux.org/Domain/Scripts#ldap-usermod
может менять любое поле кроме использованных в dn. То есть uidNumber и gidNumber
Ммм... ни очень красиво получается, но что делать...
Спасибо, попробую поколдовать.
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
http://www.altlinux.org/Domain/Scripts#ldap-usermod
может менять любое поле кроме использованных в dn. То есть uidNumber и gidNumber
Ммм... ни очень красиво получается, но что делать...
Спасибо, попробую поколдовать.
Эту проблему я буду решать, но пока у неё низкий приоритет.
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Эту проблему я буду решать, но пока у неё низкий приоритет.
Это уже радует!

Возник вопрос, не пойму как вывести дополнительные поля через ldap-getent.
Нужно ещё cn вывести. Как ?
Пишу
ldap-getent passwd * cn
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Эту проблему я буду решать, но пока у неё низкий приоритет.
Это уже радует!

Возник вопрос, не пойму как вывести дополнительные поля через ldap-getent.
Нужно ещё cn вывести. Как ?
Пишу
ldap-getent passwd * cn
...и bash раскрывает * в имена файлов в текущем каталоге, подставляя их в ldap-getent. Чтобы избежать этого, нужно:
ldap-getent passwd \* cnили
ldap-getent passwd '*' cnили
ldap-getent passwd "*" cn
Правда, будет выведено только поле cn.
Андрей Черепанов (cas@)