PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit LDAP-Import



drachoner
27.10.09, 11:18
Hallo zusammen,

ich bin kein LDAP-Experte und Suche nun Rat hier in diesem Forum, weil ich auch trotz zahlreicher Recherchen im Internet nicht schlau geworden bin.

Es geht darum, dass ich einen bestehenden LDAP-Server in der Version 2.0 auf eine neue Version 2.3, der auf einem anderen Server läuft, umziehen muss.

Von 2.0 auf 2.3 gab es wohl einige Syntax-Änderungen, die ich aber so ändern konnte, dass der LDAP normal starten konnte.

Auf dem alten System habe ich dann ein Backup gemacht, mit folgendem Befehl:
ldapsearch -p 389 -h lnxdev -D "dc=admin,dc=isip" -w secret -b "dc=isip" -x -LL "(objectClass=*)" > ldaplib.exp

Auf dem neuen System habe ich dann versucht, die ldaplib.exp wieder zu importieren mit diesem Befehl:
ldapadd -h neuerhost -D "dc=admin,dc=isip" -w secret -x -f ldaplib.exp

Als Fehlermeldung bekomme ich dann allerdings folgende Ausgabe:

adding new entry "dc=isip"
ldap_add: Naming violation (64)
additional info: naming attribute 'dc' is not present in entry

Zu diesem Fehler habe ich zwar das ein oder andere im Internet gefunden, bin aber nicht schlau daraus geworden, was ich in meinen Konfigurationsdateien ändern könnte.

Hier ein Auszug von meiner slapd.conf

## SCHEMA
include /cservice/ldap/openldap/schema/core.schema
include /cservice/ldap/openldap/schema/cosine.schema
#include /etc/openldap/schema/inetorgperson.schema
include /cservice/ldap/openldap/schema/isip.schema

defaultaccess read

defaultsearchbase "dc=isip"
schemacheck off

## DATABASE
database ldbm
readonly off
suffix "dc=isip"
directory /cservice/ldap/ldaplib
rootdn "dc=admin,dc=isip"
rootpw secret


Gruß
drachoner

real-challo
27.10.09, 11:34
ist auf dem neuen LDAP-Server schon was drauf ?

Kansst Du Dich mit einem Client verbinden ? Gibt es den "dc=admin,dc=isip" ?

Hast Du mal versucht, mit "slapcat" und "slapadd" zu importieren ?

Diese Befehle "umgehen" die Schema-Dateien und importieren einfach - so wird z.B. auch der Admin-user eingetragen, da es bei einem frischen LDAP-Server keinen User gibt, als das man sich authentifizieren kann.

drachoner
27.10.09, 13:17
Hi,

danke erstmal für die schnelle Antwort.

Bisher sollte es sich um einen frischen LDAP-Server handeln, weil ich ja erst die Daten von meinem Export da reinkriegen will.

Wie sieht denn so ein Befehl mit slapadd aus, wenn ich meinen Export habe?

Edit:

Also ich habe jetzt mal mit slapadd einen Import versucht, leider bekomme ich folgende Meldung:
# slapadd -f /.../slapd.conf -l /.../ldaplib.exp
str2entry: entry -l has no dn
slapadd: could not parse entry (line=2)

Hat jemand eine Idee woran das liegt? Wenn ich in die Datei gucke, steht da dc=... .

mamue
28.10.09, 07:10
Wenn beides OpenLDAP ist, dann exportier bitte erst einmal die alte Datenbank mit slapcat:
slapcat -l alteDB.ldif
Diese Datei importierst Du mit slapadd -l alteDB.ldif, nachdem Du /cservice/ldap/ldaplib von allen alten Einträgen befreit hast. Denk daran, die DB_CONFIG dort zu sichern, wenn Du schon eine erstellt hast ;)
Sollte das nicht funktionieren, brauche ich den Eintrag in der ldif, der den Fehle verursacht hat.

HTH
mamue

drachoner
28.10.09, 09:07
was für ein Paket muss ich denn für slapcat installieren?

Ich hab leider das Problem, dass der LDAP bisher auf einem Linux-Uraltsystem (RHAS2.1) draufliegt.

Edit: habe das passende Paket gefunden. Kann ich das jetz einfach so zusätzlich installieren? Slapcat soll wohl in dem Paket openldap-servers drin sein. Zerhauts mir die konfig, wenn ich das jetzt einfach so nachinstalliere?

cane
28.10.09, 09:20
Welche Distribution verwendest Du?

mfg
cane

drachoner
28.10.09, 09:31
Also der LDAP läuft im Moment auf RHAS2.1 (quasi Red Hat 7.2) und soll auf RHEL 5.2 später laufen.

Auf dem RHAS2.1 Server fehlt im Moment das openldap-servers-Paket und damit auch die Dateien slapadd/cat etc.

Wenn ich jetzt das openldap-servers-Paket nachinstalliere, zerhaue ich mir dann die bestehende Konfig?

mamue
28.10.09, 10:59
Ich kann Dir leider nicht sagen, welchen LDAP-Server Du verwendest. Ich würde nicht einfach mal eben das Paket OpenLDAP nachinstallieren. Dann schon eher die Quellen beschaffen und mit --prefix=/opt/openldap übersetzen. Danach slapcat mitteilen, wo die richtoge Konfigurationsdatei steht (möglicherweise /etc/openldap/slapd.conf). Ich kann ir irgendwie nicht so recht vorstellen, wieso OpenLDAP installiert sein sollte, aber slapcat/slapadd fehlen. Scheinbar verwendest Du OpenLDAP, sonst hättest Du wahrscheinlich keine
"/cservice/ldap/openldap/schema/" und keine slapd.conf. Schon mal "find" gefragt, ob slapcat vielleicht außerhalb des Pfades liegt?

mamue

drachoner
28.10.09, 11:59
ne, das habe ich schon nachgeguckt, ob das slapcat woanders liegt. Ist leider garnicht auf dem System.

Meine Recherche hat ergeben, dass diese Datei in dem Paket openldap-servers enthalten ist. Dieses Paket ist nicht installiert, dafür aber die Pakete openldap, openldap-clients, openldap-devel.

Ich werde mal die Source von dem openldap-servers runterladen und mir das selber compilieren und dann nochmal gucken, ob das alles funktioniert. Hoffentlich sind die Dateien dann auch da.

Danke schonmal.