openldap-servers-2.3.35-alt0 При добавлении новой базы вручную достаточно выполнить # /etc/chroot.d/ldap.all # /usr/sbin/slapd -u ldap -r /var/lib/ldap -h ldap://localhost/ После чего необходимые файлы будут созданы: # ls -la /var/lib/ldap/bases/localhost.localdomain/ /var/lib/ldap/dblogs/localhost.localdomain/ /etc/openldap/slapd-hdb-localhost.localdomain.conf -rwxr-xr-x 1 ldap ldap 4037 Mar 20 17:36 /etc/openldap/slapd-hdb-localhost.localdomain.conf /var/lib/ldap/bases/localhost.localdomain/: total 128 drwxr-xr-x 2 ldap ldap 4096 Mar 20 17:37 . drwxrwx--- 3 ldap ldap 4096 Mar 20 17:36 .. -rw-r--r-- 1 root ldap 1157 Mar 20 17:37 DB_CONFIG -rw------- 1 ldap ldap 24576 Mar 20 17:37 __db.001 -rw------- 1 ldap ldap 26394624 Mar 20 17:37 __db.002 -rw------- 1 ldap ldap 83894272 Mar 20 17:37 __db.003 -rw------- 1 ldap ldap 1310720 Mar 20 17:37 __db.004 -rw------- 1 ldap ldap 557056 Mar 20 17:37 __db.005 -rw------- 1 ldap ldap 24576 Mar 20 17:37 __db.006 -rw-r--r-- 1 ldap ldap 2048 Mar 20 17:37 alock -rw------- 1 ldap ldap 8192 Mar 20 17:37 dn2id.bdb -rw------- 1 ldap ldap 32768 Mar 20 17:37 id2entry.bdb /var/lib/ldap/dblogs/localhost.localdomain/: total 68 drwx------ 2 ldap ldap 4096 Mar 20 17:37 . drwxr-x--- 4 ldap ldap 4096 Mar 20 17:37 .. -rw------- 1 ldap ldap 10485760 Mar 20 17:37 log.0000000001 Однако, в инит-скрипте /etc/init.d/slapd после запуска /etc/chroot.d/ldap.all и перед запуском демона стартует ещё некий /usr/sbin/slaptest, который а) рапортует об отсутствии файлов базы в /var/lib/ldap/bases/localhost.localdomain/ и завершает инит-скрипт б) создаёт некоторые из них с правами root, чем препятствует даже последующему ручному перезапуску демона: # ls -la /var/lib/ldap/bases/localhost.localdomain/ /var/lib/ldap/dblogs/localhost.localdomain/ /etc/openldap/slapd-hdb-localhost.localdomain.conf -rwxr-xr-x 1 ldap ldap 4037 Mar 20 17:42 /etc/openldap/slapd-hdb-localhost.localdomain.conf /var/lib/ldap/bases/localhost.localdomain/: total 88 drwxr-xr-x 2 ldap ldap 4096 Mar 20 17:42 . drwxrwx--- 3 ldap ldap 4096 Mar 20 17:42 .. -rw-r--r-- 1 root ldap 1157 Mar 20 17:42 DB_CONFIG -rw------- 1 root root 24576 Mar 20 17:42 __db.001 -rw------- 1 root root 26394624 Mar 20 17:42 __db.002 -rw------- 1 root root 83894272 Mar 20 17:42 __db.003 -rw------- 1 root root 1310720 Mar 20 17:42 __db.004 -rw------- 1 root root 557056 Mar 20 17:42 __db.005 -rw------- 1 root root 24576 Mar 20 17:42 __db.006 -rw-r--r-- 1 root root 2048 Mar 20 17:42 alock /var/lib/ldap/dblogs/localhost.localdomain/: total 28 drwx------ 2 ldap ldap 4096 Mar 20 17:42 . drwxr-x--- 4 ldap ldap 4096 Mar 20 17:42 .. -rw------- 1 root root 10485760 Mar 20 17:42 log.0000000001
Годится решение из 2.3.38-alt1 (добавить -u к slaptest): @@ -41,7 +41,7 @@ RETVAL=0 do_config_sanity_check() { - action $"Checking slapd configuration" $DAEMONTEST || exit + action $"Checking slapd configuration" $DAEMONTEST -u || exit } adjust() *** This bug has been marked as a duplicate of 11879 ***
Однако, хотелось бы видеть это исправление в бранче. К тому же, в 2.3.41 исправлено CVE-2008-0658 .
Исправлено в 2.3.35-alt0.M40.1