Безопасность и оптимизация Linux.Редакция для Red Hat

Утилиты создания и поддержки OpenLDAP


Создание базы данных LDMB

Есть два метода создания базы данных для LDAP, первый оффлайновый с помощью утилиты “ldif2ldbm” и второй онлайновый при помощи утилиты “ldapadd”. Обычно, вы будете использовать оффлайновый метод, когда вы хотите добавить несколько тысяч элементов в вашу базу данных и онлайновый, когда надо добавить небольшое число элементов. Также важно заметить, что оффлайновый метод требует, чтобы ваш “slapd” демон не был запущен, а онлайновый требует работы “slapd” демона.

Создание базы данных LDMB оффлайновым методом при помощи утилиты “ldif2ldbm”

Первое, что вы должны сделать это создать входной файл LDIF содержащий текстовое представление ваших элементов. Текстовый файл, именуемый “my- data-file”, может быть использован как пример (конечно, ваш реальный входной LDIF файл будет содержать много больше информации). Когда вы инсталлируете OpenLDAP первый раз и имеете много элементов, которые нужно положить в базу данных, всегда будет хорошей идеей положить всю эту информацию в текстовый файл и добавить ее в вашу базу данных при помощи утилиты “ldif2ldbm”.

Шаг 1

Создайте файл my-data-file (touch /tmp/my-data-file) и добавьте в него, например, следующие строки:

dn: o=openna, c=com o: openna objectclass: organization

dn: cn=Gerhard Mourani, o=openna, c=com cn: Gerhard Mourani sn: Mourani mail: gmourani@videotron.ca title: Author objectclass: person

dn: cn=Anthony Bay, o=openna, c=com cn: Anthony Bay sn: Bay homephone: (444) 111-2233 mobile: (444) 555-6677 mail: abay@openna.com objectclass: person

dn: cn=George Parker, o=openna, c=com cn: George Parker sn: Parker telephonenumber: (555) 234-5678 fax: (543) 987-6543 mobile: (543) 321-4354 description: E-Commerce objectclass: person

Вышеприведенный пример показывает вам как конвертирует вашу информацию в LDIF файлы перед добавлением ее в ваш новый каталог. Консультируйтесь с вашей OpenLDAP документацией или книгой для получения большей информации.

Шаг 2

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


[root@deep tmp]# ldif2ldbm -i <inputfile> -f <slapdconfigfile>

[root@deep tmp]# ldif2ldbm -i my-data-file -f /etc/openldap/slapd.conf



Опция “-i” с опцией <inputfile> оперделяет месторасположения LDIF файла. Опция <slapdconfigfile> задает месторасположение конфигурационного файла slapd, который определяет где создавать индексы, какие индексы создавать и т.д.

ЗАМЕЧАНИЕ. Важно заметить, что при этом режиме создания демон “slapd”не должен быть запущен.

Создание базы данных LDMB онлайновым методом при помощи утилиты “ldapadd”

Если элементы в вашем сервере каталогов уже созданы или вы хотите добавить небольшое количество информации в вашу базу данных, то вы можете предпочесть использовать утилиту “ldapadd”, чтобы выполнить вашу работу онлайн. Например, чтобы добавить элемент “Europe Mourani” используя утилиту “ldapadd”, вы должны создать файл, называемый “newentry” в каталоге “/tmp”.

Шаг 1

Создайте файл newentry (touch /tmp/newentry) и добавьте в него следующие строки:

cn=Europe Mourani, o=openna, c=com

cn=Europe Mourani

sn=Mourani

mail=emourani@old.com

description=Marketing relation

objectClass=person

Шаг 2

После того, как файл “newentry” создан, мы должны добавить элемены в сервер каталогов LDAP. Для этого используйте следующую команду:

[root@deep /]# ldapadd -f /tmp/newentry -D "cn=admin, o=openna, c=com" -W

Enter LDAP Password :

Вышеприведенная команда подразумевает что вы установили rootdn в "cn=admin, o=openna, c=com" и rootpw в "secret". Вам будет предложено ввести пароль.

ЗАМЕЧАНИЕ. Важно заметить, что во время использования этой утилиты демон “slapd” должен быть запущен.

ldapmodify

В отличие от реляционных баз данных, где данные постоянно изменяются, сервер каталогов содержит информацию, которая единожды введенная изменяется редко. Но иногда, вам все же приходится модифицировать данные, и в этом вам может помочь утилита “ldapmodify”. Она позволяет вам добавлять и модифицировать элементы хранящиеся на сервере каталогов. Допустим что мы хотим заменить содержимое элемента “Europe Mourani” атрибут почты на новое значение “emourani@new.com”, для этого нам понадобятся следующие шаги:

Шаг 1

Создаем файл modifyentry (touch /tmp/modifyentry) и добавляем в него следующее содержимое:

cn=Europe Mourani, o=openna, c=com

- mail=emourani@old.com # будет удален старый почтовый адрес для Europe Mourani из базы данных.

+mail=emourani@new.com # будет добавлен новый почтовый адрес для Europe Mourani в базу данных.

Шаг 2

После создания файла “modifyentry”, мы должны заменить элемнты каталога LDAP сервера в соответствии с содержимым этого файла. Это делается следующей командой:

[root@deep /]# ladpmodify -D ‘cn=Admin, o=openna, c=com’ -W -f <inputfile>

[root@deep /]# ladpmodify -D ‘cn=Admin, o=openna, c=com’ -W -f modifyentry

где <inputfile> - имя файла “modifyentry”, который был создан на шаге 1.


Содержание раздела