Gerade bin ich dabei, nocheinmal
die Lenny-Pakete des slapd einzuspielen,
Der LDAP läuft unter Squeeze auch ohne Lenny-SLapd-Pakete wieder.
Sowas wird in den preinst / postinst des Paketes Debianslapd gemacht.
Eventuell erst die alte DB hineinkopieren, und dann slapd installieren.
Gerade nochmal die preinst/postinst überflogen,
sie unterscheiden sich (grob) dadurch, daß die preinst einen dump ausführen soll.
Für den Ablauf scheint ein installierter slapd vorrausgesetzt, zBsp. auch bei den Versionsvergleichen.
die haben mir nämlich nicht das LDAP-Root-Passwort gegeben und in der slap.conf steht nur das Verschlüsselte drin.
Läuft das ldap denn unter squeeze mit dem slapd aus lenny? Zugriffe, Abfragen usw.?
Dann ein upgrade auf die squeeze-Version?
Moving old database directory to /var/backups:
There are leftover files in /var/lib/ldap. This will probably break
creating the initial directory. If that's the case please move away
stuff in there and retry the configuration.
Creating initial configuration... done.
Creating LDAP directory... failed.
Loading the initial configuration from the ldif file () failed with
the following error while running slapadd:
hdb_db_open: database "dc=herterkom,dc=de": unclean shutdown detected; attempting recovery.
bdb(dc=herterkom,dc=de): Program version 4.8 doesn't match environment version 0.6
=> bdb_last_id: get failed: DB_BUFFER_SMALL: User memory too small for return value (-30999)
hdb_db_open: database "dc=herterkom,dc=de": last_id(/var/lib/ldap) failed: DB_BUFFER_SMALL: User memory too small for return value (-30999).
backend_startup_one (type=hdb, suffix="dc=herterkom,dc=de"): bi_db_open failed! (-30999)
slap_startup failed
Die Fehler kommen dann durch den fehlenden Zugriff?
Gerade ein wenig mit dem slapd herumgespielt, install / remove/purge / dpkg-reconfigure.
In /etc/ldap/ gibt es zwar eine Datei olcDatabase={1}hdb.ldif mit einem Eintrag 'olcRootPW'.
Der scheint aber nicht benutzt zu werden,
denn nach 'dpkg-reconfigure' mit Ändern des ldap-admin-Paßwortes ändert sich nichts unterhalb von /etc/ldap/.
nur die Datenbank-Dateien unter /var/lib/ldap/, darin in der Form:
Code: Alles auswählen
# for i in *; do echo ______________ $i; strings $i | grep SS; done
______________ DB_CONFIG
______________ __db.001
______________ __db.002
______________ __db.003
&{SSHA}sxrr47s1E7rj31i2a6tPwdF/xCHc+4Jj
______________ __db.004
&{SSHA}sxrr47s1E7rj31i2a6tPwdF/xCHc+4Jj
______________ __db.005
______________ __db.006
______________ alock
______________ dn2id.bdb
______________ id2entry.bdb
&{SSHA}sxrr47s1E7rj31i2a6tPwdF/xCHc+4Jj
______________ log.0000000001
&{SSHA}sxrr47s1E7rj31i2a6tPwdF/xCHc+4Jj
______________ objectClass.bdb
# file *
DB_CONFIG: ASCII text
__db.001: Applesoft BASIC program data
__db.002: data
__db.003: data
__db.004: data
__db.005: data
__db.006: data
alock: data
dn2id.bdb: Berkeley DB (Btree, version 9, native byte-order)
id2entry.bdb: Berkeley DB (Btree, version 9, native byte-order)
log.0000000001: Berkeley DB (Log, version 17, native byte-order)
objectClass.bdb: Berkeley DB (Btree, version 9, native byte-order)
(Dabei ist das default-backend 'hdb' gegenüber 'bdb' gewählt.)
Die hash-Werte könnten an einen Wert (salt) aus der alten Installation gebunden sein.
Ein walkaround vielleicht für das unbekannte admin-Paßwort:
Zunächst den slapd "frisch" installieren, dabei wird dann ja ein wohlbekanntes Paßwort erstellt.
dessen hash-String dann zBsp. mit hex-Editor in die Dateien aus dem backup eintragen.
Wenn es aber diese "Zu Fuß"-Variante nicht mehr reicht, geht es wohl an ldap-Interna.
Scotty, übernehmen Sie!
----------------------------------------------------
Zur Paßwort-Problematik
Von lenny->squeeze wurde pam geändert md5->sha512, /etc/pam.d/common-password:
Code: Alles auswählen
password [success=1 default=ignore] pam_unix.so obscure sha512
falls ldap auch hierauf konfiguriert ist (libpam-ldap[d], 'dpkg-reconfigure libpam-runtime' / 'pam-auth-update'),
eventuell den Eintrag ändern?
(obwohl das meiner Erfahrung nach nur bei neuem/geändertem Paßwort zum Tragen kommt)
bdb(dc=herterkom,dc=de): Program version 4.8 doesn't match environment version 0.6
Bei "4.8" denke ich an die Versionen der Berkeley-db-Pakete,
was aber ist dann das "0.6"?