LDAP_ALREADY_EXISTS Fehlermeldung
Hallo Liste, ich habe ein Problem mit der LDAP-Datenbank meines SuSE E-Mailserver 2. Das Webinterface ist eine von SuSE abgeänderte Version von Horde/Imp das eine LDAP-Datenbank zur Benutzerverwaltung verwendet. Das ganze läuft seit 2 Jahren wunderbar, aber seit einigen Tagen kriege ich fast immer beim Anlegen neuer Benutzer folgende Meldung: add_user_ldap fehlgeschlagen failed to add entry: LDAP-Server return code: 68 Message: LDAP_ALREADY_EXISTS :The client attempted to add an entry that already exists. This can occur as a result of * An add request was submitted with a DN that already exists * A modify DN requested was submitted, where the requested new DN already exists * The request is adding an attribute to the schema and an attribute with the given OID or name already exists Das ganze kann ich mit verschiedenen Namen versuchen, die allesamt nicht existieren und trotzdem bekomme ich diese Meldung. Ein Konfigurationsproblem dürfte es eigentlich nicht sein, da es ja manchmal funktioniert. Da ich mich mit LDAP und dem Webinterface nun fast gar nicht auskenne, weiss ich auch nicht, wie ich bei der Fehlersuche vorgehen soll. Ich habe auch die gesamte Konfiguration schon mal auf die Startkonfiguration des E-Mail Servers zurückgesetzt(ausser natürlich die userspezifischen Daten), aber es gab keine Verbesserung. Ich hoffe, einer von euch kann mir ein paar Tipps geben, wie ich bei der Fehlersuche vorgehen könnte. Mfg, Thomas
Hallo,
Thomas Gräber
Hallo Liste,
ich habe ein Problem mit der LDAP-Datenbank meines SuSE E-Mailserver 2. Das Webinterface ist eine von SuSE abgeänderte Version von Horde/Imp das eine LDAP-Datenbank zur Benutzerverwaltung verwendet. Das ganze läuft seit 2 Jahren wunderbar, aber seit einigen Tagen kriege ich fast immer beim Anlegen neuer Benutzer folgende Meldung:
add_user_ldap fehlgeschlagen
failed to add entry: LDAP-Server return code: 68 Message: LDAP_ALREADY_EXISTS :The client attempted to add an entry that already exists. This can occur as a result of * An add request was submitted with a DN that already exists * A modify DN requested was submitted, where the requested new DN already exists * The request is adding an attribute to the schema and an attribute with the given OID or name already exists [...]
Stoppe mal den Ldapserver, /sbin/init.d/ldap stop, wechsle ins Verzeichnis /var/lib/ldap, dann liest du den Datenbestand aus mit ldbmcat -n id2entry.dbb > /tmp/meine-datei.ldif Dann kannst du den Ldapserver wieder starten. Anschließend siehst du dir mal meine-datei.ldif an und prüfst, ob wirklich die von dir gewünschten Einträger nicht vorhanden sind. Falls die gewünschten Einträge nicht vorhanden sind, solltest du diese manuell eingeben. Wie das geht steht sicherlich in der Support Datenbank, oder frage noch mal diese Liste. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
Hallo,
Thomas Gräber
writes: Hallo Liste,
ich habe ein Problem mit der LDAP-Datenbank meines SuSE E-Mailserver 2. Das Webinterface ist eine von SuSE abgeänderte Version von Horde/Imp das eine LDAP-Datenbank zur Benutzerverwaltung verwendet. Das ganze läuft seit 2 Jahren wunderbar, aber seit einigen Tagen kriege ich fast immer beim Anlegen neuer Benutzer folgende Meldung:
add_user_ldap fehlgeschlagen
failed to add entry: LDAP-Server return code: 68 Message: LDAP_ALREADY_EXISTS :The client attempted to add an entry that already exists. This can occur as a result of * An add request was submitted with a DN that already exists * A modify DN requested was submitted, where the requested new DN already exists * The request is adding an attribute to the schema and an attribute with the given OID or name already exists [...]
Stoppe mal den Ldapserver, /sbin/init.d/ldap stop, wechsle ins Verzeichnis /var/lib/ldap, dann liest du den Datenbestand aus mit ldbmcat -n id2entry.dbb > /tmp/meine-datei.ldif Dann kannst du den Ldapserver wieder starten. Anschließend siehst du dir mal meine-datei.ldif an und prüfst, ob wirklich die von dir gewünschten Einträger nicht vorhanden sind. Falls die gewünschten Einträge nicht vorhanden sind, solltest du diese manuell eingeben. Wie das geht steht sicherlich in der Support Datenbank, oder frage noch mal diese Liste.
Danke für die Hinweise, habe ich gemacht. Der einzufügende Eintrag ist darin aber nicht zu finden. Laut SDB kann man User manuell mit /usr/lib/apache/bin/add_user_ldap <Parameter> einfügen. Damit klappt es seltsamerweise, aber auch nur, wenn ich den Wohnort(location) nicht mit angebe. Die Fehlermeldung die ich dann erhalte ist aber genau die gleiche, wie übers Webinterface auch. Folgendes habe ich sonst auch noch getestet: Ich habe auf einem nackigen Rechner Den E-MailServer installiert und dann nacheinander folgende Verzeichnisse rüberkopiert, um einen Ansatz für den Fehler zu finden. 1./var/lib/ldap 2./var/imap 3./var/spool/imap 4./etc #musste ich natürlich dann wieder etwas anpassen 5./usr/local/httpd/ 6./usr/lib/apache/bin Auf dem neu installierten Rechner läuft der nach wie vor, ohne zu meckern. Alle anderen Dateien sollten ja eigentlich auf beiden Rechnern gleich sein. Könnte das vielleicht ein Hardwarefehler sein? Danke, Thomas
Hallo,
Thomas Gräber
Hallo,
Thomas Gräber
writes:
Folgendes habe ich sonst auch noch getestet:
Ich habe auf einem nackigen Rechner Den E-MailServer installiert und dann nacheinander folgende Verzeichnisse rüberkopiert, um einen Ansatz für den Fehler zu finden.
1./var/lib/ldap 2./var/imap 3./var/spool/imap 4./etc #musste ich natürlich dann wieder etwas anpassen 5./usr/local/httpd/ 6./usr/lib/apache/bin
Auf dem neu installierten Rechner läuft der nach wie vor, ohne zu meckern.
Alle anderen Dateien sollten ja eigentlich auf beiden Rechnern gleich sein. Könnte das vielleicht ein Hardwarefehler sein?
Hardwarefehler glaube ich eher nicht, ich denke da an eine gecrashte Berkeley DB. Vieleicht sind die ldapadd Versuche zwar teilweise erfolgreich gewesen, es ist aber sind dann aber unvollständige Datensätze erstellt worden. Daher die Meldung, das bereits ein Eintrag besteht. Der Dump der id2entry liefert nur vollständige ldif Formate. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
----- Original Message -----
From: "Dieter Kluenter"
Hallo,
Thomas Gräber
writes: Hallo,
Thomas Gräber
writes: Folgendes habe ich sonst auch noch getestet:
Ich habe auf einem nackigen Rechner Den E-MailServer installiert und dann nacheinander folgende Verzeichnisse rüberkopiert, um einen Ansatz für den Fehler zu finden.
1./var/lib/ldap 2./var/imap 3./var/spool/imap 4./etc #musste ich natürlich dann wieder etwas anpassen 5./usr/local/httpd/ 6./usr/lib/apache/bin
Auf dem neu installierten Rechner läuft der nach wie vor, ohne zu meckern.
Alle anderen Dateien sollten ja eigentlich auf beiden Rechnern gleich sein. Könnte das vielleicht ein Hardwarefehler sein?
Hardwarefehler glaube ich eher nicht, ich denke da an eine gecrashte Berkeley DB. Vieleicht sind die ldapadd Versuche zwar teilweise erfolgreich gewesen, es ist aber sind dann aber unvollständige Datensätze erstellt worden. Daher die Meldung, das bereits ein Eintrag besteht. Der Dump der id2entry liefert nur vollständige ldif Formate.
Einen Datenbankcrash kann ich mir eigentlich eher weniger vorstellen, denn wie gesagt, auf einem anderen Rechner läuft ja die Datenbank. Wenn da wirklich unvollständige Einträge sind, wie könnte man die denn dann löschen?
hallo,
Thomas Gräber
----- Original Message ----- From: "Dieter Kluenter"
Thomas Gräber
writes:
Thomas Gräber
writes:
Hardwarefehler glaube ich eher nicht, ich denke da an eine gecrashte Berkeley DB. Vieleicht sind die ldapadd Versuche zwar teilweise erfolgreich gewesen, es ist aber sind dann aber unvollständige Datensätze erstellt worden. Daher die Meldung, das bereits ein Eintrag besteht. Der Dump der id2entry liefert nur vollständige ldif Formate.
Einen Datenbankcrash kann ich mir eigentlich eher weniger vorstellen, denn wie gesagt, auf einem anderen Rechner läuft ja die Datenbank.
Als Backend läuft ja bei OpenLDAP-1.x noch GDBM und nicht, wie ich irrtümlich erwähnte, Berkeley DB. GDBM war ziemlich buggy im Zusammenspiel mit OpenLDAP, besonders bei großen Datensätzen.
Wenn da wirklich unvollständige Einträge sind, wie könnte man die denn dann löschen?
ich sehe in diesem Fall keine Chancen, einzelne Einträge zu löschen, ldapdelete wird hier nicht funktionieren. Da hilft dann nur, alle *.dbb Dateien zu löschen und mittels ldapadd oder ldif2ldbm den Dump, den du ja schon erstellt hast, also deine *.ldif Datei, neu einzulesen. Das ist zwar eine Radikalkur, aber so würde ich es machen. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour
Danke für den Tipp mit der Radikalkur, hat bei mir geholfen. Aber wie können denn die unvollständigen Einträge eigentlich dareinkommen?
Hardwarefehler glaube ich eher nicht, ich denke da an eine gecrashte Berkeley DB. Vieleicht sind die ldapadd Versuche zwar teilweise erfolgreich gewesen, es ist aber sind dann aber unvollständige Datensätze erstellt worden. Daher die Meldung, das bereits ein Eintrag besteht. Der Dump der id2entry liefert nur vollständige ldif Formate.
Einen Datenbankcrash kann ich mir eigentlich eher weniger vorstellen, denn wie gesagt, auf einem anderen Rechner läuft ja die Datenbank.
Als Backend läuft ja bei OpenLDAP-1.x noch GDBM und nicht, wie ich irrtümlich erwähnte, Berkeley DB. GDBM war ziemlich buggy im Zusammenspiel mit OpenLDAP, besonders bei großen Datensätzen.
Muss ich da befürchten, dass das jetzt öfters auftritt?
Wenn da wirklich unvollständige Einträge sind, wie könnte man die denn dann löschen?
ich sehe in diesem Fall keine Chancen, einzelne Einträge zu löschen, ldapdelete wird hier nicht funktionieren. Da hilft dann nur, alle *.dbb Dateien zu löschen und mittels ldapadd oder ldif2ldbm den Dump, den du ja schon erstellt hast, also deine *.ldif Datei, neu einzulesen. Das ist zwar eine Radikalkur, aber so würde ich es machen.
Danke für den Tipp mit der Radikalkur, hat bei mir geholfen. Aber wie können denn die unvollständigen Einträge eigentlich dareinkommen?
participants (2)
-
Dieter Kluenter
-
Thomas Gräber