<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>4820</bug_id>
          
          <creation_ts>2004-07-17 08:37:22 +0400</creation_ts>
          <short_desc>Неполное копирование /etc/openldap в chroot-jail</short_desc>
          <delta_ts>2007-01-07 07:24:15 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>openldap-servers</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Lebkov">dlebkov</reporter>
          <assigned_to name="Serge A. Volkov">vserge</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>imz</cc>
    
    <cc>klark</cc>
    
    <cc>ldv</cc>
    
    <cc>shaba</cc>
    
    <cc>slev</cc>
    
    <cc>vitty</cc>
    
    <cc>viy</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>17198</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Lebkov">dlebkov</who>
    <bug_when>2004-07-17 08:37:22 +0400</bug_when>
    <thetext>1. Скрипт /etc/chroot.d/ldap.conf не обращает внимания на файлы, добавляемые в
slapd.conf с помощью директивы include. Быстрый хак:

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

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

2. При копировании фалов .schema в chroot, скрипт /etc/chroot.d/ldap.conf
не отбабатавет ситуацию с наличием подкаталогов в каталоге /etc/openldap/schema.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20042</commentid>
    <comment_count>1</comment_count>
    <who name="Serge A. Volkov">vserge</who>
    <bug_when>2004-11-26 14:32:11 +0300</bug_when>
    <thetext>Так как в chroot-functions у функции Copy нет опции -r и ldv не будет ее
реализовывать
есть несколько вариантов на каком остановится пока не рещил:
1) (Идея migor-at-altlinux.ru) tar&apos;им все директорию /etc/schemas/* и потом все
распаковываем в chroot-dir
2) парсим файл и создаем сами поддиректории и копируем файлы

пока думаю над последним, так как он не требует места для создания архива.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20058</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry Lebkov">dlebkov</who>
    <bug_when>2004-11-28 05:44:36 +0300</bug_when>
    <thetext>(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, например ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20062</commentid>
    <comment_count>3</comment_count>
    <who name="Serge A. Volkov">vserge</who>
    <bug_when>2004-11-28 13:17:22 +0300</bug_when>
    <thetext>Я думаю, чтобы обеспечить работоспособность системы мы для начала используем
вариант:
&quot;В принципе, простейший вариант - tar через pipe. Что-то типа:
cd /etc/openldap; tar -cv * | tar -xv -C /var/lib/ldap/etc/openldap
Дополнительного места на диске он не требует.&quot;

Это нам даст время на организацю механизма просмотра и анлиза лога.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20249</commentid>
    <comment_count>4</comment_count>
    <who name="Serge A. Volkov">vserge</who>
    <bug_when>2004-12-07 13:12:14 +0300</bug_when>
    <thetext>Временное решение применено в 2.2.19-alt1 пробуйте тестируйте, но это решение
требует пересмотра!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44248</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry Lebkov">dlebkov</who>
    <bug_when>2007-01-07 07:22:37 +0300</bug_when>
    <thetext>Reopen for change resolution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44249</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry Lebkov">dlebkov</who>
    <bug_when>2007-01-07 07:23:58 +0300</bug_when>
    <thetext>Old bug. Fixed in openldap-2.3.x packages.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>