[Comm] OpenLDAP: единое дерево для разных сервисов

Pavel S. Khmelinsky =?iso-8859-1?q?hmepas_=CE=C1_yauza=2Eru?=
Ср Апр 7 12:34:58 MSD 2004


Eugene Prokopiev wrote:
> Здравствуйте!
> 
> Поднят openldap. bind и dhcpd берут из него свои настройки. Дерево ldap 
> выглядит примерно так (как его рисует gq, ldif в аттаче):
> 
> localhost
>     dc=myserver,dc=myprovider,dc=ru
>         ou=DNS
>             relativeDomainName=@
>             relativeDomainName=ns
>             relativeDomainName=mail
>             relativeDomainName=host1
>             relativeDomainName=host2
>         cn=DHCP Config
>             cn=192.168.1.0
>                 cn=host1
>             cn=192.168.3.0
>                 ch=host2
> 
> Возможно, в будущем появятся новые нестандартные сервисы, которые так 
> же, как bind и dhcpd, потребуют хранить какие-либо атрибуты хостов сети.
> 
> Самое главное, что мне не нравится - у каждого сервиса фактически 
> собственное изолированное от других дерево. Т.е. с заменой 
> конфигурационных файлов на LDAP мы меняем шило на мыло.
> 
> Ближайший аналог того, что мне хочется - технология XSLT. Т.е. имеем 
> основное дерево XML с той структурой, которая удобна мне (например, в 
> список атрибутов объекта хост входят одновременно dns-имя, ip-адрес, 
> mac-адрес). Только в это дерево можно вносить изменения. К этому дереву 
> можно применять XSLT-преобразования (для bind свое, для dhcpd свое и 
> т.д.) и получать на выходе деревья для каждого сервиса с необходимой для 
> этого сервиса структурой.
> 
> Как реализовать в openldap нечто подобное?

Не знаю помоему самое разумное решение это держать общее для всех 
связных сервисов дерево, их которого спец. скриптам по крону или 
по событию парсить конфиг сервиса.
Либо нужно патчить сервис на предмет чтения настроек из Вашего 
основного дерева в том виде в котором Вы его храните. Это 
актуально для таких сервисов как например Radius.

Содержания обособленных деревьев для каждого сервиса в LDAP (или 
в другой БД) это действительно шило на мыло, с одной оговоркой к 
большинству БД, в отличие от текстовых конфигов, можно легко 
получить удаленный доступ, что помогает при написание, например 
веб интерфейсов физически расположенных на другой машине.

Собсно мои соображения. ;)

-- 
Pavel S. Khmelinsky <hmepas на yauza.ru>
System Administrator,
ISP Yauza Telecom
http://www.yauza.ru



Подробная информация о списке рассылки community