[Pkg-openldap-devel] Bug#741248: slapd: slapacl corrupts database
Ferenc Wágner
wferi at niif.hu
Mon Mar 10 10:51:28 UTC 2014
Package: slapd
Version: 2.4.31-1+nmu2
Severity: normal
Hi,
After a default install of slapd, check the permissions of the admin DN
on the base suffix:
$ sudo -u openldap slapacl -b dc=ki,dc=iif,dc=hu -D cn=admin,dc=ki,dc=iif,dc=hu entry
authcDN: "cn=admin,dc=ki,dc=iif,dc=hu"
entry: manage(=mwrscxd)
Now stop slapd, just to get it out of the picture (this changes nothing):
$ sudo service slapd stop
[ ok ] Stopping OpenLDAP: slapd.
and introduce a typo (hu -> huu) into the base suffix:
$ sudo -u openldap slapacl -b dc=ki,dc=iif,dc=huu -D cn=admin,dc=ki,dc=iif,dc=hu entry
531d8fa7 hdb_db_open: database "dc=ki,dc=iif,dc=hu": unclean shutdown detected; attempting recovery.
531d8fa7 hdb_db_open: database "dc=ki,dc=iif,dc=hu": recovery skipped in read-only mode. Run manual recovery if errors are encountered.
authcDN: "cn=admin,dc=ki,dc=iif,dc=hu"
dc=ki,dc=iif,dc=huu: no target database has been found for baseDN="slapacl"; you may try with "-u" (dry run).
Doing it correctly again does not get rid of the warnings:
$ sudo -u openldap slapacl -b dc=ki,dc=iif,dc=hu -D cn=admin,dc=ki,dc=iif,dc=hu entry
531d8fb1 hdb_db_open: database "dc=ki,dc=iif,dc=hu": unclean shutdown detected; attempting recovery.
531d8fb1 hdb_db_open: database "dc=ki,dc=iif,dc=hu": recovery skipped in read-only mode. Run manual recovery if errors are encountered.
authcDN: "cn=admin,dc=ki,dc=iif,dc=hu"
entry: manage(=mwrscxd)
Starting slapd fixes the corruption, though.
I think there's at least one bug here:
1. slapacl should be a read only operation, which may not be possible
with the underlying DB libraries.
2. Even if it was documented to corrupt the checked database, it should not
find it with a mistyped base DN.
3. Its man page does not warn against its use while slapd is running, so I
suppose it's allowed (as I'd expect).
Please help be better assess the situation!
Thanks,
Feri.
-- System Information:
Debian Release: 7.4
APT prefers stable
APT policy: (500, 'stable'), (30, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.13-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages slapd depends on:
ii adduser 3.113+nmu3
ii coreutils 8.13-3.5
ii debconf [debconf-2.0] 1.5.49
ii libc6 2.13-38+deb7u1
ii libdb5.1 5.1.29-5
ii libgcrypt11 1.5.0-5+deb7u1
ii libgnutls26 2.12.20-8+deb7u1
ii libldap-2.4-2 2.4.31-1+nmu2
ii libltdl7 2.4.2-1.1
ii libodbc1 2.2.14p2-5
ii libperl5.14 5.14.2-21+deb7u1
ii libsasl2-2 2.1.25.dfsg1-6+deb7u1
ii libslp1 1.2.1-9
ii libwrap0 7.6.q-24
ii lsb-base 4.1+Debian8+deb7u1
ii multiarch-support 2.13-38+deb7u1
ii perl [libmime-base64-perl] 5.14.2-21+deb7u1
ii psmisc 22.19-1+deb7u1
Versions of packages slapd recommends:
ii libsasl2-modules 2.1.25.dfsg1-6+deb7u1
Versions of packages slapd suggests:
ii ldap-utils 2.4.31-1+nmu2
-- debconf information:
slapd/allow_ldap_v2: false
slapd/password_mismatch:
slapd/invalid_config: true
shared/organization: ki.iif.hu
slapd/upgrade_slapcat_failure:
slapd/no_configuration: false
slapd/move_old_database: true
slapd/dump_database_destdir: /var/backups/slapd-VERSION
slapd/purge_database: false
slapd/domain: ki.iif.hu
slapd/backend: HDB
slapd/dump_database: when needed
More information about the Pkg-openldap-devel
mailing list