Bug 4820 - Неполное копирование /etc/openldap в chroot-jail
Summary: Неполное копирование /etc/openldap в chroot-jail
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: openldap-servers (show other bugs)
Version: unstable
Hardware: all Linux
: P2 blocker
Assignee: Serge A. Volkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-17 08:37 MSD by Dmitry Lebkov
Modified: 2007-01-07 07:24 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Lebkov 2004-07-17 08:37:22 MSD
1. Скрипт /etc/chroot.d/ldap.conf не обращает внимания на файлы, добавляемые в
slapd.conf с помощью директивы include. Быстрый хак:

for f in `cat /etc/openldap/slapd.conf |grep -E '^include'|grep -v
\/schema\/'|sed -r -e 's/^include\s+\/etc\/openldap\///g'`; do
        Copy -m640 -oldap -gldap $force "/etc/openldap/$f" "etc/$f"
done

Хак не сработает, если включаемый файл расположен в подкаталоге каталога
/etc/openldap.

2. При копировании фалов .schema в chroot, скрипт /etc/chroot.d/ldap.conf
не отбабатавет ситуацию с наличием подкаталогов в каталоге /etc/openldap/schema.
Comment 1 Serge A. Volkov 2004-11-26 14:32:11 MSK
Так как в chroot-functions у функции Copy нет опции -r и ldv не будет ее
реализовывать
есть несколько вариантов на каком остановится пока не рещил:
1) (Идея migor-at-altlinux.ru) tar'им все директорию /etc/schemas/* и потом все
распаковываем в chroot-dir
2) парсим файл и создаем сами поддиректории и копируем файлы

пока думаю над последним, так как он не требует места для создания архива.
Comment 2 Dmitry Lebkov 2004-11-28 05:44:36 MSK
(In reply to comment #1)
В принципе, простейший вариант - tar через pipe. Что-то типа:
cd /etc/openldap; tar -cv * | tar -xv -C /var/lib/ldap/etc/openldap
Дополнительного места на диске он не требует.

Более сложный (и наверное, более правильный) - анализ конфига, разбор
всех параметров, ссылающихся на файлы или каталоги и копирование соответствующих
файлов/каталогов в chroot.

Помимо содержимого /etc/openldap иногда еще требуется сертификаты взять из
/var/lib/ssl/certs, например ...
Comment 3 Serge A. Volkov 2004-11-28 13:17:22 MSK
Я думаю, чтобы обеспечить работоспособность системы мы для начала используем
вариант:
"В принципе, простейший вариант - tar через pipe. Что-то типа:
cd /etc/openldap; tar -cv * | tar -xv -C /var/lib/ldap/etc/openldap
Дополнительного места на диске он не требует."

Это нам даст время на организацю механизма просмотра и анлиза лога.
Comment 4 Serge A. Volkov 2004-12-07 13:12:14 MSK
Временное решение применено в 2.2.19-alt1 пробуйте тестируйте, но это решение
требует пересмотра!
Comment 5 Dmitry Lebkov 2007-01-07 07:22:37 MSK
Reopen for change resolution.
Comment 6 Dmitry Lebkov 2007-01-07 07:23:58 MSK
Old bug. Fixed in openldap-2.3.x packages.