Назад | Перейти на главную страницу

Как скопировать запись LDAP и все поддерево на сервер Linux / openldap?

Я хочу дублировать поддерево LDAP: мое программное обеспечение использует

ou = программное обеспечение, o = компания, c = fr

и я хочу использовать версию 2 программного обеспечения

ou = software_v2, o = компания, c = fr

Я попробовал JXplore скопировать дерево, что нормально для сервера разработки, но мне нужно сделать то же самое на производственном сервере, который находится в центре обработки данных.

Есть ли для этого какая-либо команда openldap, какой-либо сценарий, или я должен его создать?

С уважением,
Седрик

Вероятно, лучший способ справиться с этим - экспортировать рассматриваемое поддерево в файл LDIF, настроить файл, чтобы изменить DN в соответствии с вашими потребностями, импортировать файл LDIF в производственную среду. Существует множество способов создать файл LDIF с помощью ldapsearch быть самым доступным. Команда, необходимая для получения файла LDIF, может различаться в зависимости от используемого сервера LDAP, но должна выглядеть примерно так.

ldapsearch -b ou=software,o=company,c=fr -s sub -h host.ldap.server > software.ldif

Предполагается, что вам не нужно входить в систему. По конвейеру вывод в файл. Затем вы можете открыть файл в любом инструменте и заменить все вхождения «ou = software, o =» на «ou = software_v2, o =». Затем его можно использовать для импорта.

ldapadd -a -h host.ldap.server -f software.ldif

Использование TLS, логины и странные порты потребуют разных параметров в обеих командах, но это должно, по крайней мере, помочь вам начать работу.

(Edit) Эти поля закодированы в base64. Тот, который вы цитируете в комментариях, имеет в DN «Лазурный берег». Один из способов получить реальный текст - это:

  1. Скопируйте DN в простой текстовый файл, encode-old.txt
  2. Pipe it through the base64 command, base64 -d encode-old.txt > decoded.txt
  3. Внесите необходимые изменения в файл decode.txt
  4. Верните его через команду base64, base64 decoded.txt> encode-new.txt

Очевидно, это не так хорошо масштабируется, но это показывает, как добраться до реального текста. Обработка файла .ldif с помощью sed / awk или perl для внесения необходимых изменений программным способом, вероятно, будет лучшим вариантом.

Хотя вы уже отметили ответ sysadmin1138 как «ответ», я все же хочу поделиться своей идеей. Установите «gq» в систему, подключите его к учетной записи, имеющей достаточные привилегии, к серверу LDAP и просто перетащите свое поддерево (или: «сохранить как новое»). Это просто, быстро и работает.

gq - это браузер LDAP (с функцией редактирования), которому требуется X-сервер.