[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: existierende Installation auf neuen Server übertragen



Hallo Hans-Dietrich,
schön so eine rasche Antwort zu bekommen, habe heute 11 Stunden in der Schule gearbeitet, und bin gerade ziemlich groggy nach Hause gekommen

Hans-Dietrich Kirmse schrieb:
verstehe ich das richtig: in dem ldif-file stehe nur User?
Ja, das geht mit der -a Filteroption von slapcat. Allerdings war das deswegen etwas leichter, weil wir bereits seit Jahren Prefixe für unsere User vergeben, für die Lehrer z.B "leh"+offizielles Lehrerkürzel der Verwaltung (die Schüler heißen alle sch+irgendwas, die Maschinen haben als Prefix den Raum). Insofern habe ich nicht wirklich alle User in der ldif-Datei, sondern nur die Lehrer (und ein weiteres für die Schüler),ich bin jetzt zu Hause, aber der Befehl lautete wohl :
slapcat -a cn=leh* -l lehrer.ldif
(Wenn ich das richtig in dem Buch gelesen habe, dass ich jetzt so nebenbei lese,dann wäre das auch mit ldapsearch und eine pipe auf ein ldif-Datei gegangen)

Auf dem neuen System habe ich dann mit
slapadd -l lehrer.ldif
die Lehrer in die existierende Datenbank eingetragen.

das kann nicht sein. slapadd ist nicht ldapadd, sondern mit slapadd kannst du nur den gesamten Inhalt (also einen Dump) in den LDAP spielen.
Doch, ich bin mir ziemlich sicher, ich habe schon nachgesehen, im lwat war ein vorher angelegter skadmin weiterhin sichtbar (aber eben auch die importierten Lehrer), genauso wie der "admin" (=ldapadmin bei lwat) beim ldapsearch. Ja schon, es wird der gesamte dump hineingespielt, aber eben nicht die bereits bestehenden Einträge irgendwie beschädigt. Deswegen musste ich ja auch so penible bei der ldif-Datei schauen, dass ja keine Einträge drinnen stehen, die bereits in der neuen Installation vorhanden sind.


die ersten 2 Entries müßten so ungefähr aussehen:

dn: dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: dcObject
objectClass: organization
dc: skole
o: skole.skolelinux.no
structuralObjectClass: organization
entryUUID: 50f557e6-00cc-102c-8560-b55cedb42a59
creatorsName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no
modifiersName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no
createTimestamp: 20070926223358Z
modifyTimestamp: 20070926223358Z
entryCSN: 20070926223358Z#000000#00#000000

dn: ou=Attic,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: organizationalUnit
ou: Attic
structuralObjectClass: organizationalUnit
entryUUID: 50f80b76-00cc-102c-8561-b55cedb42a59
creatorsName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no
modifiersName: cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no
createTimestamp: 20070926223358Z
modifyTimestamp: 20070926223358Z
entryCSN: 20070926223358Z#000001#00#000000
Ich denke mir, dass das die Ausgabe vonslapcat allein war, im meinem lehrer.ldif aber mit Sicherheit nicht, da stehen nur alle 94 Lehrer drinnen.

hast du zur Kontrolle mal ein slapcat drauf angewendet. Sind da die anderen Entries vorhanden?
s.o., bestätigen kann ich das erst morgen in der Früh.

3. Problem war dann natürlich die Gruppenzugehörigkeit, die haben sie
durch slapadd natürlich noch nicht. also wollte ich besonders schlau
sein und habe mir gedacht ich arbeite mit ldapmodify.

(ldapadd ist auch nur ein ldapmodify - damit kannst du sicher Einträge hinzubingen, wenn man's richtig macht)

Ich hatte ja die teachers ldif-Datei, die sich von dem neuen Einträgen
nur durch die zusätzlichen member und memberUid-Einträge unterscheidet.
Nach einigem (na eigentlich stundenlangen) Studium habe ich mein
teachers-ldif so geändert, dass es von ldappmodify akzeptiert wurde.
Im wesentlichen durch Einfügen von
dn: cn=teachers,ou=Group,dc=skole,dc=skolelinux,dc=no
changetype: modify
add: member
add: memberUid
und die Liste mit den jeweil ca. 100 Einträgen steht ja in der Datei.
Aber leider klappte es doch.
tjener:~# ldapmodify -x -W -D
"cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no" -f teachers.ldif
Enter LDAP Password:
ldap_bind: Confidentiality required (13)
additional info: confidentiality required

wenn das stimmt, was du oben geschrieben hast, dann dürfte (wegen slapadd) eigentlich der 2. Eintrag NICHT im LDAP sein. dann kann er auch nicht gegen "cn=admin,ou=People, ... vergleichen.Sorry, was meinst du mit dem "2. Eintrag" genau. Übrigens ist glaube ich
die Existenz von
dn: cn=teachers,ou=Group,dc=skole,dc=skolelinux,dc=no im neuen System doch auch ein Beweis, dass slapadd nur die User hinzugefügt hat, sonst aber alles belassen hat.


warum hast du nicht den ganzen Dump eingespielt
habe ich ja ursprünglich mal versucht, allerdings ohne Chance, da slapadd beim ersten bereits vorhandenen Eintrag abbricht

oder statt mit slapadd besser mit ldapadd (da kannst du schön "scheibchenweise" - slapadd heißt "alles oder nichts").
Ich habe ziemlich viel gelesen und slapcat wurde eher öfter erwähnt bzw. besser (für mich) beschrieben. Aber es war keine sehr bewusste Entscheidung.


Obwohl ich diesen Wochenende absolut keine Zeit habe, schick mir per PM einen Dump und an was ich welche Daten erkenne und wo die hin sollen.
Ich schreibe dir ein solches Script (User in eine Gruppe zu schaufeln).
Ich schicke dir die dumps morgen, aber es macht wirklich nichts aus, wenn du nicht zum skript schreiben kommst. du hilfst mir so schon genug. Was mich schon noch immer interessiert, ist, warum das mit dem ldapmodify nicht klappt. Ich habe mir schon gedacht, vielleicht versuch ich es einmal händisch auf der Konsole, ohne ldif-Datei. Vielleicht sind dann die Meldungen aufschlussreicher.

also vielen Dank und einen Schönen Abend noch
Alfred


Reply to: