Bug 7348

Summary: Предложения по структуре /etc/openldap/slapd.conf
Product: Sisyphus Reporter: Sergei Epiphanov <serpiph>
Component: openldapAssignee: Anton V. Boyarshinov <boyarsh>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: boyarsh, erthad, imz, klark, ldv, mike, shaba, slev, vitty, viy, vvk
Version: unstable   
Hardware: all   
OS: Linux   

Description Sergei Epiphanov 2005-07-11 16:41:05 MSD
(На основе файла TODO из пакета).
Предлагаю вместо одного файла /etc/openldap/slapd.conf сделать:

1. /etc/openldap/slapd.conf - основной конфигурационный файл.
2. /etc/openldap/databases/ldb-*.conf - файлы, содержащие описание одной базы
данных на один файл.

При этом необходимо будет изменить файл /etc/chroot.d/ldap.conf в части переноса
файлов /etc/openldap/databases/ldb-*.conf и поиск строки, начинающейся с
directory, также и во всех /etc/openldap/databases/ldb-*.conf для создания
каталогов, которые будут содержать базы данных:

tar -pPc schema | tar -xp -C /var/lib/ldap/etc/
на
tar -pPc schema databases | tar -xp -C /var/lib/ldap/etc/

и

awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/slapd.conf \
        | xargs install -d -o ldap -g ldap -m 0700
на
awk '/^directory/ {sub(/\//,"",$2);print $2}' \
          /etc/openldap/slapd.conf \
          /etc/openldap/databases/ldb-*.conf \
        | xargs install -d -o ldap -g ldap -m 0700

Также в файле /etc/openldap/slapd.conf в конце вместо примеров описания баз
данных просто вписывать строки вида

include /etc/openldap/databases/ldb-example.conf

Тем самым можно более безболезненно обновлять настройки slapd и легче
настраивать каждую отдельную базу (сам ошибочно правлю то в общих настройках, в
описании базы).
Comment 1 Michael Shigorin 2006-06-27 11:16:15 MSD
это применимо к 2.3.21-alt1?
Comment 2 serpiph 2006-06-27 12:00:17 MSD
Это уже сделано, за отличиями от моего варианта:
1) настройки каждой базы лежат в том же каталоге, что и основной файл
2) названия начинаются с slapd
По первому пункту хотелось бы перенести файлы баз данных в отдельный каталог, чтобы не перемешивать с другими файлами, более структурированно получится и если разрешён параметр вида 'include /etc/openldap/databases/*.conf' и обнаружить средствами awk этот каталог в slapd.conf, то не потребуется при появлении новой базы править slapd.conf, достаточно выложить файл в databases. По второму пункту - предложенный вариант названия файлов баз данных мне больше нравится собственного.
В ldap.conf желательно строку /etc/openldap/*slapd*.conf превратить в /etc/openldap/slapd*.conf, тем самым зафиксировав префикс настроек.
Comment 3 Dmitry Lebkov 2006-06-30 20:51:55 MSD
(In reply to comment #2)
> Это уже сделано, за отличиями от моего варианта:
> 1) настройки каждой базы лежат в том же каталоге, что и основной файл
> 2) названия начинаются с slapd

> По первому пункту хотелось бы перенести файлы баз данных в отдельный каталог,
> чтобы не перемешивать с другими файлами, более структурированно получится и
> если разрешён параметр вида 'include /etc/openldap/databases/*.conf' и
> обнаружить средствами awk этот каталог в slapd.conf, то не потребуется при
> появлении новой базы править slapd.conf, достаточно выложить файл в databases.
> По второму пункту - предложенный вариант названия файлов баз данных мне больше
> нравится собственного.

Я не готов заняться обеспечением поддержкт 'include /dir/*.conf' :(

> В ldap.conf желательно строку /etc/openldap/*slapd*.conf превратить в
> /etc/openldap/slapd*.conf, тем самым зафиксировав префикс настроек.

Ок.

PS.
 1. Если не трудно - хотя бы изредко Enter нажимайте, пожалуйста. ;)
 2. Необходимо указывать полный путь до файлов. ldap.conf есть как в
    /etc/openldap/, так и в /etc/chroot.d/
Comment 4 serpiph 2006-07-03 11:55:59 MSD
(In reply to comment #3)
> (In reply to comment #2)
> > Это уже сделано, за отличиями от моего варианта:
> > 1) настройки каждой базы лежат в том же каталоге, что и основной файл
> > 2) названия начинаются с slapd
> 
> > По первому пункту хотелось бы перенести файлы баз данных в отдельный каталог,
> > чтобы не перемешивать с другими файлами, более структурированно получится и
> > если разрешён параметр вида 'include /etc/openldap/databases/*.conf' и
> > обнаружить средствами awk этот каталог в slapd.conf, то не потребуется при
> > появлении новой базы править slapd.conf, достаточно выложить файл в databases.
> > По второму пункту - предложенный вариант названия файлов баз данных мне больше
> > нравится собственного.
> 
> Я не готов заняться обеспечением поддержкт 'include /dir/*.conf' :(

Всё понял, из коробки не поддерживается. Жаль. А как насчёт того, чтобы
перенести все определения баз данных в отдельный каталог, например, databases?
Чтобы отделить мух от котлет. А заодно можно поставить дополнительный барьер 700
на каталог. Тогда файл /etc/chroot.d/ldap.conf получит изменения:
1)
tar -pPc schema | tar -xp -C /var/lib/ldap/etc/
на
tar -pPc schema databases | tar -xp -C /var/lib/ldap/etc/

2)
awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/*slapd*.conf \
на
awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/databases/slapd*.conf \

3)
awk '/^directory/ {sub(/\//,"",$2);print $2}' /etc/openldap/*slapd*.conf | sed
's|ldap/bases|ldap/dblogs|' \
на
awk '/^directory/ {sub(/\//,"",$2);print $2}'
/etc/openldap/databases/slapd*.conf | sed 's|ldap/bases|ldap/dblogs|' \

> > В ldap.conf желательно строку /etc/openldap/*slapd*.conf превратить в
> > /etc/openldap/slapd*.conf, тем самым зафиксировав префикс настроек.
> 
> Ок.
> 
> PS.
>  1. Если не трудно - хотя бы изредко Enter нажимайте, пожалуйста. ;)
>  2. Необходимо указывать полный путь до файлов. ldap.conf есть как в
>     /etc/openldap/, так и в /etc/chroot.d/
> 

Писал впервые из-под lynx, поэтому и не уследил за переносами. :) В следующий
раз буду внимательнее.
Comment 5 Dmitry V. Levin 2007-08-07 12:41:15 MSD
To package maintainer.
Comment 6 Eugene Ostapets 2008-02-14 12:43:43 MSK
Пока уже думать о поддержке конфигурационного каталога... Как минимум нужно
убрать из update_conf изменением прав на файлы и каталоги в /var/lib/ldap, чтобы
был толк от побержки cn=config...
Comment 7 Dmitry Lebkov 2008-02-15 06:10:23 MSK
Максимум, что cмогу сейчас - просто собрать новую версию. На большее меня просто
не хватит - "завал" по работе. :(
Comment 8 Eugene Ostapets 2008-02-15 15:55:46 MSK
Новой стабильной еще нет, а если скатываться на нестабильную, то уже на 2.4.7 :)
Comment 9 Michael Shigorin 2008-02-16 01:16:56 MSK
(In reply to comment #8)
> а если скатываться на нестабильную
Такое впечатление, что тебе не хватало счастья со стабильной последние годы... :]

А не хочешь изобразить в Daedalus на основе текущей сборки, что бы хотел видеть?
Comment 10 Eugene Ostapets 2008-02-16 15:00:56 MSK
Хочу, но все как-то руки не доходят... Мне в целом линейка 2.4.х очень нравится,
особенно N-way multimastering :)
Comment 11 Michael Shigorin 2013-08-15 19:06:58 MSK
apparently wontfix