Alles Zeugs mit slapcat und slapadd hat bei mir nicht funktioniert. Nur zum festhalten:
$ slapcat -l ldapdump-$(date -I).ldif
$ slapadd -l ldapdump-$(date -I).ldif |
$ slapcat -l ldapdump-$(date -I).ldif
$ slapadd -l ldapdump-$(date -I).ldif
Hier hat jemand wohl erfolg gehabt…
Was bei mir gut funktioniert hat war den neuen LDAP erst einmal mehr oder weniger so aufzusetzen wie den alten, also gleiche DN und schemas drin (dpkg-reconfigure slapd). Anschliessend habe ich mit ldapsearch auf dem alten Server alles exportiert und mit ldapadd auf dem neuen Server importiert:
$ ldapsearch -x -LLL > ldapdump-$(date -I).ldif
$ ldapadd -x -D "cn=admin,dc=example,dc=org" -W -f ldapdump-$(date -I).ldif |
$ ldapsearch -x -LLL > ldapdump-$(date -I).ldif
$ ldapadd -x -D "cn=admin,dc=example,dc=org" -W -f ldapdump-$(date -I).ldif
Der entscheidene Hinweis kam von hier.
— UPDATE 2013-07-31 —
Bei dem Export mittels ldapsearch sicherstellen, dass auch die userPassword: Eintraege mit exportiert werden. Ansonsten muss man sich gegebenenfalls authentifizieren zum Beispiel mit:
$ ldapsearch -x -LLL -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=org" -W | gzip > $(date -I)-ldapdump.ldif.gz |
$ ldapsearch -x -LLL -H ldap://127.0.0.1:389 -D "cn=admin,dc=example,dc=org" -W | gzip > $(date -I)-ldapdump.ldif.gz