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

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Правда, будет выведено только поле cn.
Ааа, понял, спасибо, дальше сам :-)
Сноси Винду, переходи на Линукс ! :)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Тогда можно подытожить.
Порядок действий такой:
1. На рабочем сервере ldap-getent passwd (при необходимости вручную указать доп. поля) и ldap-getent group (здесь можно вручную выбрать только те группы, которые не являются первичными для пользователей). Сохранить всё это дело в файл.
2. Установить новый сервер, создать домен.
3. Написать скрипт, который будет читать файл и вносить пользователей, также и для групп.
Например, для пользователей (вывод ldap-getent стандартный):#!/bin/sh

while read line; do
    login=`echo $line|cut -d: -f1`
    uid=`echo $line|cut -d: -f3`
    gid=`echo $line|cut -d: -f4`
    /usr/sbin/ldap-useradd -d /home/$login -s /bin/bash -p 123 $login
    echo "uidnumber:$uid"|/usr/sbin/ldap-usermod replace $login
    echo "gidnumber:$gid"|/usr/sbin/ldap-usermod replace $login
done < user_list
С группами всё гораздо проще, даже писать не буду.
Да, стоит добавить, лучше сначала добавить пользователей, а потом уже группы.
Даже, возможно, наоборот, потому что может понадобиться на этапе добавления пользователей сразу же добавить их в некоторые группы.
С автора темы ответ — работает это или нет ? :-)
Я на ВМ проверил, вроде пашет.
« Последнее редактирование: 20.03.2014 08:35:19 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн asterix81

  • Участник
  • *
  • Сообщений: 150
Цитировать
С автора темы ответ — работает это или нет ? :-)
Я на ВМ проверил, вроде пашет.
На каникулах проверю, что ещё интересней хочу сменить домен на короткий, существующий ххххххх.ххх1111.ru во многих ситуациях оказывается в не выигрыше... (ту же винду в домен не загнать).

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
На каникулах проверю
Смена домена не должна повлиять.
Единственное, если пользователи состояли в каких-то ldap-ных группах, то эта информация потеряется... нужно насчет этого что-то придумать...
Я немного переделал, получилось так:
#!/bin/sh

#перенос пользователей на новый сервер
#на рабочем сервере нужно выполнить
#ldap-getent passwd '*' cn uid uidnumber gidnumber|sed 's/:/ /g' > user_list

while read line; do
    set -- $line
    #$1 - фамилия, $2 - имя, $3 - отчество, $4 - логин, $5 - uid, $6 - gid
    /usr/sbin/ldap-useradd -f $1 -n $2 -c "$1 $2 $3" -d /home/$4 -s /bin/bash -p 123 -G users $4
    echo "uidnumber:$5"|/usr/sbin/ldap-usermod replace $4
    echo "gidnumber:$6"|/usr/sbin/ldap-usermod replace $4
    echo "gidnumber:$6"|/usr/sbin/ldap-groupmod replace $4
done < user_list
Пароль сменить после из существующего списка, у меня он в сделан в LO Calc. Скопировать два столбца с логином и паролем в файл passwd_list и выполнить:
#!/bin/sh

#установка пароля

while read line; do
    set -- $line
    #$1 - логин, $1 - пароль
    /usr/sbin/ldap-passwd $1 $2
done < passwd_list

Только ldap-ные группы лучше создать перед созданием пользователей.
« Последнее редактирование: 31.07.2014 11:00:34 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн nanoUzr

  • Участник
  • *
  • Сообщений: 135
А механизм репликации с сервера на сервер какой-нить есть? Хочется получить некую избыточность в итоге.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
А механизм репликации с сервера на сервер какой-нить есть? Хочется получить некую избыточность в итоге.
Есть. Читайте про репликацию openldap в Google. В Alterator это пока не реализовано.
Андрей Черепанов (cas@)

Оффлайн asterix81

  • Участник
  • *
  • Сообщений: 150
Есть. Читайте про репликацию openldap в Google. В Alterator это пока не реализовано.

Вчера переустановил вспомогательный сервер (7 версия 64 бит) по сети с !!! основного сервера - дало следующий эффект:
  • При первой перезагрузке сам подцепил всех LDAP (Kerberos) пользователей, видно было по сообщениям загрузки.
  • Закладка времени отсутствует в альтераторе (время похоже берет с основного), в домен зашел сам. 
    • Скопировал с основного ключ DNS - теперь все имена DNS тянет с основного.

    Вопрос: пользователей скопировал, но как альтератором их зацепить в закладке "Пользователи"?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Вопрос: пользователей скопировал, но как альтератором их зацепить в закладке "Пользователи"?
Настроить источник.
« Последнее редактирование: 07.05.2014 15:16:09 от Skull »
Андрей Черепанов (cas@)

Оффлайн asterix81

  • Участник
  • *
  • Сообщений: 150
Настроить источник.
Добрый вечер Андрей!
 
  • Для настройки источника надо знать параметры с сервера где находится база LDAP. Я сам её не настраивал, установил Альт Линукс Сервер 7, настроил домен с Керберосом и LDAP.
  • Где можно на сервере для службы DHCP прописать второй DNS? И если DHCP падает на основном, то ее заменяет DHCP на резервном сервере?


Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Для настройки источника надо знать параметры с сервера где находится база LDAP. Я сам её не настраивал, установил Альт Линукс Сервер 7, настроил домен с Керберосом и LDAP.
Вы туда зайдите и всё увидите. Модуль предлагает выбрать из списка.
Цитировать
Где можно на сервере для службы DHCP прописать второй DNS? И если DHCP падает на основном, то ее заменяет DHCP на резервном сервере?
В файле конфигурации DHCP.
Андрей Черепанов (cas@)

Оффлайн asterix81

  • Участник
  • *
  • Сообщений: 150
зайдите и всё увидите. Модуль предлагает выбрать из списка.
Я смотрю в разделе "Пользователи"  - указываю другой сервер - (IP или имя) спрашивает Корневой домен и Корневой пароль...- пароль кого или чего? (где узнать?) (У меня домен "school.sch1945.ru" имя сервера "babylon").

Правильно ли выбраны параметры в разделах "Аутентификация" и "Служба каталогов LDAP" (на снимках)?
« Последнее редактирование: 08.05.2014 09:26:01 от asterix81 »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
зайдите и всё увидите. Модуль предлагает выбрать из списка.
Я смотрю в разделе "Пользователи"  - указываю другой сервер - (IP или имя) спрашивает Корневой домен и Корневой пароль...- пароль кого или чего? (где узнать?) (У меня домен "school.sch1945.ru" имя сервера "babylon").
Вот и нужно брать в файле настройки в /etc/slapd/ на корневом сервере. Это фактически имя (точнее dc) и пароль администратора базы.
Цитировать
Правильно ли выбраны параметры в разделах "Аутентификация" и "Служба каталогов LDAP" (на снимках)?
А зачем OpenLDAP настраивать?
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 152
Я немного переделал, получилось так:
Сам сейчас переношу базу, вроде работает.
Только нужно добавить такую строку (выше поправил сообщение):
echo "gidnumber:$6"|/usr/sbin/ldap-groupmod replace $4иначе у пользователя gid не меняется, то есть если глянуть 'ldap-getent group primary_group_username', то там gid другой. Не знаю, ошибка ли это в скриптах...

Также столкнулся с тем, что у меня один пользователь не имел cn (ФИО), соответственно строка получилась короче (только 4 поля вместо 6) из-за этого произошла ошибка при добавлении пользователя -- вручную пришлось добавить. Хорошо бы предусмотреть такое развитие событий...

В остальном пока норм, если что, буду писать о найденных проблемах сюда.
« Последнее редактирование: 31.07.2014 12:42:57 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)