Bug 24697

Summary: Rights for slapd configs
Product: Sisyphus Reporter: Andriy Stepanov (stanv) <stanv>
Component: openldap2.4-serversAssignee: Nobody's working on this, feel free to take it <nobody>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3    
Version: unstable   
Hardware: all   
OS: Linux   

Description Andriy Stepanov (stanv) 2010-12-05 21:28:57 MSK
Привет.

У нас slapd выполняется в chroot.

В документации /usr/share/doc/openldap-servers-2.4.23/config-README.ALT сказано,
что будут скопированы конфигурационные файлы в chroot окружение. Например:

slapd-<BACKEND_TYPE>-<DB_NUMBER>.conf - Ностройки локальных баз

Я честно создал файл с настройками своей БД:
/etc/openldap/slapd-hdb-hull.conf

Включил определение своей БД в slapd.conf:
include /etc/openldap/slapd-hdb-hull.conf

После чего у меня тупо перестал запускаься slapd:

# service slapd start
Adjusting environment for slapd: [ DONE ]
Starting slapd service: [FAILED]

Увы получить логи, кроме как сообщения, у нас нету:
root@hull: openldap/ # tail /var/log/messages 

Dec  5 21:18:13 hull slapd: slapd shutdown succeeded
Dec  5 21:18:16 hull slapd: Adjusting environment for slapd: succeeded
Dec  5 21:18:17 hull slapd: slapd startup failed

Я длительное время я думал что неправильно создал определение базы данных.

После мучительных, поисков оказалось, что, при копировании конфигурационных файлов для slapd в его chroot окружение, сохраняются их права и владелец оригинального конфигурационного файла.

Ну и при старте slapd не может их тупо прочитать.
# l /var/lib/ldap/etc/slapd-hdb-hull.conf 
-rw-r----- 2 root root 4044 Дек  5 21:06 /var/lib/ldap/etc/slapd-hdb-hull.conf

С учетом того, что получить логи, и не сказано нигде что САМОМУ НУЖНО назначать владельца конфигурационного файла, я потратил очень много времени.

И считаю такое поведение не хорошим.

Два решения:
1. Добавить в документацию: /usr/share/doc/openldap-servers-2.4.23/config-REDME.ALT  что "СЛЕДИТЕ ЗА ПРАВАМИ И ВЛАДЕЛЬЦЕМ" самостоятельно. Назначить группу владельцем ldap

2. При копировании конфигурационных файлов chroot, делать так чтобы slapd их мог прочитать!
Comment 1 Andriy Stepanov (stanv) 2010-12-05 21:54:34 MSK
А еще....

Если я удалил определение базы, которая admin/secret:
#rm /etc/openldap/slapd-hdb-db01.conf
то как не обновляй chroot
# update_chrooted all

Конфигурация БД остается:
# l /var/lib/ldap/etc/slapd-hdb-db01.conf 
-rw-r----- 2 root ldap 4035 Ноя  6 00:35 /var/lib/ldap/etc/slapd-hdb-db01.conf

Что прикажете руками удалять несекюрную базу?
или это как бэкдур?