schema2ldif конвертер

LDAP
Скрипт для преобразования схем
из формата .schema в формат .ldif, пригодный для загрузки в динамическую конфигурацию cn=config. Необходимый параметр — имя файла схемы без расширения, который нужно преобразовать. Скрипт отправляет результат в стандартный поток вывода, откуда вы его можете через пайп перенаправить утилите ldapadd или просто сохранить в файл.

#!/bin/bash
schemaFile="$1"
[[ -f $schemaFile && -r $schemaFile ]] || exit 1
schemaName=${schemaFile##*/}
schemaName=${schemaName%.*}
sed -r \
 -e '/^\s*(#.*)?$/d' \
 -e 's%^\s+%  %' \
 -e 's%^objectclass\s+%olcObjectClasses: %I' \
 -e 's%^attributetype\s+%olcAttributeTypes: %I' $schemaFile | \
  sed "1idn: cn=$schemaName,cn=schema,cn=config\nobjectClass: olcSchemaConfig\ncn: $schemaName"

Это, наверное, самый простой и самый немудрёный schema2ldif из всех, когда либо сочинённых. Но мне его обычно хватает.
А если вам нужен продвинутый вариант конвертера — пожалуйста, один есть прямо в поставке OpenLDAP (тоже на shell, тоже называется schema2ldif), а другой, на мой взгляд, самый развитый, написан на Perl'е, и он вот здесь: storm.alert.sk/soft/schema2ldif/schema2ldif

UPD(2013.05.23): Тот, который на Perl'е, создаёт LDIF'ы для какого-то другого LDAP-сервера, не для OpenLDAP точно!

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.