1. Startseite
  2. Nachrichten
  3. Herunterladen
    1. Thunderbird Release-Version
    2. Thunderbird 128 ESR
    3. Thunderbird 115 ESR
    4. Thunderbird Beta-Version
    5. Sprachpaket (Benutzeroberfläche)
    6. Wörterbücher (Rechtschreibprüfung)
  4. Hilfe & Lexikon
    1. Anleitungen zu Thunderbird
    2. Fragen & Antworten (FAQ) zu Thunderbird
    3. Hilfe zu dieser Webseite
  5. Forum
    1. Unerledigte Themen
    2. Letzte Beiträge
    3. Themen der letzten 24 Stunden
  • Deutsch
  • Anmelden
  • Registrieren
  • 
  • Suche
Dieses Thema
  1. Thunderbird Mail DE
  2. Forum
  3. Hilfe zum Arbeiten mit Kontakten, Aufgaben und Kalendern
  4. Adressbuch

LDAP und Thunderbird - Ex/Import LdapRW

  • Nostraddi
  • 10. November 2010 um 11:14
  • Geschlossen
  • Erledigt
  • Nostraddi
    Mitglied
    Beiträge
    19
    Mitglied seit
    7. Mai. 2004
    • 10. November 2010 um 11:14
    • #1

    Hallo Gemeinde,

    vorweg - nein, das ist keine Frage "ich hab keinen bock etwas selber zu schaffen - ich frage lieber" :-)

    Seit fast 2 Jahren versuche ich hier erfolgreich LDAP zu integrieren, ich bin nicht dumm - aber an LDAP habe ich mir immer irgendwie die Zähne ausgebissen. Nach dem Urlaub nun hatte ich es erneut versucht und auch recht erfolgreich.

    LDAD (slapd) steht, Einträge sind in Grundform enthalten, OUs existieren
    Grafisches Frontend (ldapadmin) ist installiert und läuft, thunderbird kann zugreifen und abfragen etc etc

    Nun die Königsdisziplin, nach x Jahren Thunderbird liegen auf meinen zahlreichen PCs sehr viele Adressen in Form von "Gesammelten Adressen" und "Persönlichen Adressbüchern" usw usf herum. Diese habe ich nun alle EXPORTIERT, als ldif versteht sich.

    Dann fand ich heraus das man erst tbirdfix (ein perl skript) beuaftragen soll einige zeichen zu ersetzen, dies tat ich auch bei einem testfile.

    Herausgekommen ist schlichtweg nichts. Ich kann nichts importieren ohne "invalid syntax" zu ernten , Auszüge hier :

    import.ldif

    Code
    dn: ou=mailkontakte,dc=einname,dc=com
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    objectclass: mozillaAbPersonAlpha
    mail: die@mail.de

    Importiere ich dies nun mit a) ldapadmin erhalte ich :

    Code
    Hinzufügen... ou=mailkontakte,dc=einname,dc=com fehlgeschlagen
    Error code: 21
    Beschreibung: Invalid syntax

    mache ich es b) mit ldapadd und dem genauen befehl

    Code
    ldapadd -h 10.0.0.60 -x -D "cn=admin,dc=einname,dc=com" -p 389 -c -W -f /freigabe/firmend2/cad-test.ldif

    so erhalte ich ebenfalls die invalid syntax

    nun habe ich die objectclasses ausgetauscht, rumgefrickelt usw usf - alles mist.

    Dann habe ich mir gedacht das es ggf. mit "ldaprw" aus dem thundebrird inoffiziellen addon-repository gehen könnte, doch dort erhalte ich lediglich "Error: genrdn: basisRdn.length = 0" - dazu habe ich dann bei google wieder zahlreiche hilfen gefunden (auch eine in diesem forum) - jedoch sind sie meist bei einem endstand von "könnte/aber/wenn/dann" beendet worden, also ohne klares ergebnis.

    Alles in allem ist LDAP noche ine super hohe Hürde für mich und ich würde mich serh über Rat freuen!

  • Nostraddi
    Mitglied
    Beiträge
    19
    Mitglied seit
    7. Mai. 2004
    • 20. November 2010 um 15:10
    • #2

    Nutzt das keiner? Oder war ich zu ungenau?

  • rum
    Globaler Moderator
    Beiträge
    21.485
    Mitglied seit
    9. Jun. 2006
    • 20. November 2010 um 17:26
    • #3

    Hallo Nostraddi,

    da gibt es sicher nicht viele im Forum, die dir da helfen können.
    Ich habe mal eine PN an einen LDAP_Wissenden geschickt und wenn der Lust und Zeit und gute Laune hat, meldet er sich bestimmt.


    Bedenke: wir sind ja auch nur User und nicht immer präsent :rolleyes:

    es wird schon..., Gruß
    rum

    Ich leiste keine Forenhilfe per Konversation!
    zur >> Doku

  • Peter_Lehmann
    Senior-Mitglied
    Reaktionen
    1
    Beiträge
    13.506
    Mitglied seit
    5. Jun. 2005
    • 20. November 2010 um 18:53
    • #4

    Hi Nostraddi,

    Diese Schemen hast du bestimmt alle in deiner slapd.conf:

    Code
    # Einlesen von externen Konfigurationsdateien (Schemen)
    include         /etc/openldap/schema/core.schema
    include         /etc/openldap/schema/cosine.schema
    include         /etc/openldap/schema/inetorgperson.schema
    include         /etc/openldap/schema/nis.schema
    include         /etc/openldap/schema/mozillaAbPersonAlpha.schema
    include         /etc/openldap/schema/extension.schema

    Dann poste mir bitte mal dein tbirdfix-script. Ich benutze folgendes Script, welches ich mal im Netz gefunden und auf meine Verhältnisse angepasst habe:

    Perl
    #!/usr/bin/perl -pi 
    # ldapfixer.pl; passt einen Thunderbird V3.x und V2.x- LDIF export für die Verwendung in OpenLDAP (=> mozillaAbPersonAlpha.schema) an
    # ldapfixer.pl datei,ldif => überschreibt sofort
    # folgende Änderungen sind vorzunehmen:
    # 1. der Ersatz der Mailadresse im dn mit der Hirarche des ldap (Achtung: ou=test oder people anpassen!)
    # 2. Entfernung des Eintrages "modifytimestamp"
    # 3. Auskommentierung des Eintrages "mozillaUseHtmlMail" => bis Syntax geklärt ist
    # 4. Umwandlung "homeStreet" in "mozillaHomeStreet"
    # 5. Umwandlung "department" in "ou" (Dienstlich: Abteilung)
    # 6. Umwandlung "company" in "o"     (Dienstlich: Organisation)
    # 7. Entfernung der Einträge "birth" (Geburtstage aus TB V3.x)
    
    
    
    
    # s/mail=.*/ou=people,dc=mein_Server,dc=nu/;
    s/mail=.*/ou=test,dc=mein_Server,dc=nu/;
    s/modifytimestamp.*\n//;
    s/mozillaUseHtmlMail: /# mozillaUseHtmlMail: /;
    s/homeStreet/mozillaHomeStreet/; 
    s/department/ou/; 
    s/company/o/;
    s/birth.*\n//;
    Alles anzeigen

    Dann hilft es immer, wenn du im TB eine Adresskarte komplett ausfüllst. Damit siehst du, wie es im Endeffekt aussehen muss. Bsp. hier:

    Code
    dn: cn=Hans Thunderbird3,ou=test,dc=mein_Server,dc=nu
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    objectclass: mozillaAbPersonAlpha
    givenName: Hans
    sn: Thunderbird3
    cn: Hans Thunderbird3
    mozillaNickname:: SMOkbnNjaGVuLTM=
    mail: hans.thunderbird@online.de
    mozillaSecondEmail: hans.thunderbird_2@online.de
    nsAIMid: Messenger
    telephoneNumber: 0123456789
    homePhone: 0222222222
    facsimiletelephonenumber: 0333333333
    pager: 0160/12345
    mobile: 0171/12345
    mozillaHomeStreet:: UHJpdmF0c3RyYcOfZV8x
    mozillaHomeStreet2:: UHJpdmF0c3RyYcOfZV8y
    mozillaHomeLocalityName: Privatort
    mozillaHomeState: PrivatBundesland
    mozillaHomePostalCode: P12345
    mozillaHomeCountryName: Privat_Land
    street: Dienst_Adresse_Zeile1
    mozillaWorkStreet2: Dienst_Adresse_Zeile2
    l: Dienst_Ort
    st: Dienst_Bundesland
    postalCode: D1234
    c: de
    title: Dienst_Titel
    ou: Dienst_Abteilung
    o: Dienst_Organisation
    mozillaWorkUrl: www.dienstseite.site
    mozillaHomeUrl: www.privatseite.site
    # birthyear: 1950
    # birthmonth: 11
    # birthday: 01
    mozillaCustom1: Benutzerdefiniert_1
    mozillaCustom2: Benutzerdefiniert_2
    mozillaCustom3: Benutzerdefiniert_3
    mozillaCustom4: Benutzerdefiniert_4
    description: Das ist der ldif-Export eines vollstaendigen Adresseintrages aus Thunderbird V.3.x, angepasst mit Script ldapfixer.pl
    Alles anzeigen

    Und das hier ist die Struktur, welche ich bei allen den Beispielen genutzt habe:
    (Weswegen "habe": Das war meine erste Bastelarbeit mit dem ldap. Jetzt mache ich eine komplette Nutzerverwaltung damit, aber vor allem meine Zertifikatsverwaltung für X.509-Zertifikate.)

    Code
    # struktur.ldif
    # Basisdatei mit Strukturdaten (Organisationsstruktur), root-dn, Manager, ou, usw.
    # als erstes zu laden mit: ldapadd -xWD "cn=Manager,dc=mein_Server,dc=nu" -f struktur.ldif
    # ===================!!
    
    
    
    
    # Eintrag 1: root-dn bekannt machen
    dn:dc=mein_Server,dc=nu
    objectClass: dcObject
    objectClass: organization
    o: mein_Server
    dc: mein_Server
    
    
    
    
    # Eintrag 2: Manager festlegen
    dn:cn=Manager,dc=mein_Server,dc=nu
    objectClass: organizationalRole
    cn: Manager
    
    
    
    
    # Eintrag 3: ou=people anlegen
    dn:ou=people,dc=mein_Server,dc=nu
    ou: people
    objectClass: organizationalUnit
    
    
    
    
    # Eintrag 4: ou=test (öffentlich) anlegen
    dn:ou=test,dc=mein_Server,dc=nu
    ou: test
    objectClass: organizationalUnit
    description: Das ist ein Testzugang. Ohne echte Daten, ohne Passwort und ohne Verschluesselung.
    Alles anzeigen

    Vielleicht hilft es dir was ... .

    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Nostraddi
    Mitglied
    Beiträge
    19
    Mitglied seit
    7. Mai. 2004
    • 22. November 2010 um 12:19
    • #5

    Hallo Peter,

    erstmal Danke für Deinen und "rum"s Feedback, das ist nett. Natürlich sind wir alle nur Menschen, ich sehe nur wenig Chancen das ganze noch irgendwann einmal auf die Beine zu stellen wenn ich es hier im TB Forum schon nicht schaffen kann :-)

    Also, die Schemen sind exakt wie meine, das ist okay.

    Das tbirdfix ist ebenfalls auf mich modifiziert:

    Code
    asterisk:/etc/ldap# cat tbirdfix 
    #!/usr/bin/perl -pi
    s/dn: cn=\"(.*)\"/dn: cn=$1/;
    s/mail=.*/ou=mailkontakte,dc=meinefqd,dc=meinetld/;
    s/givenName: \"/givenName: /;
    s/cn: \"(.*)\"\n/cn: $1/;
    s/sn: (.*)\"\n/sn: $1\n/;
    s/modifytimestamp.*\n//;
    s/xmozillanickname.*\n//;
    s/objectclass: mozillaAbPersonObsolete/objectclass: mozillaOrgPerson/;

    Ich habe mir gerade nochmals Deinen Ratschlag zur Herzen genommen und eine Karte mal ganz ausgefüllt (insgesamt sind es 1890 Kontaktdaten, tlw. nur "email" ohne namen - tlw. mit Namen und Handy, keine Email...) Am liebsten würde ich es im Datenbank Stil pflegen, dann könnte man auch vieles automatisch einsetzen und editieren..

    Mir fiel auf :

    Code
    [b]dn:[/b] cn=P.Irgendwer,ou=mailkontakte,dc=meinetfqd,dc=meinetld
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson
    objectclass: mozillaAbPersonAlpha
    givenName: Peter
    sn: Irgendwer
    cn: P.Irgendwer
    mail: jemand@irgendwo.de

    Das sieht ja ganz gut aus - das dn: cn=P.[...] sieht etwas selten aus und ist in jedem Eintrag zu finden.

    Es gibt aber auch zahlreiche Einträge die so aussehen :

    Code
    dn: cn=Vor und Nachname
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetOrgPerson       
    objectclass: mozillaAbPersonAlpha        
    givenName: Nachname
    sn: Nachname
    cn: Voller Name
    mobile: 0123456

    Da fehlte mal eben die ou= dc= dc=

    Lasse ich egal welchen Eintrag (meinetwegen auch mit dem Schalter -f (nicht abbrechen bei Fehlern)) durchlaufen komme ich jedoch zu keinem Ziel - er bemängelt meistens "origanizationalPerson" (s.o.) oder dann halt etwas anderes...

    Vielleicht ist es das beste - alle Kontaktdaten ersteinmal in eine Art Datenbank (meinetwegen auch nur excel) zu bringen, dort zu vervollständigen und dann einzulesen - das ist aber eigentlich Riesenmist da es dann immer so laufen muss, idealerweise würde sich der ldap server mit dem thunderbird automatisch synchronisieren (so wie es bei ldaprw vorgesehen ist) - dann würde sich sogar das Telefonbuch (geht autom. in TB ein) mit dem LDAP synchronisieren und das ganze wäre keine Einbahnstraße....

    LG Stefan

  • Peter_Lehmann
    Senior-Mitglied
    Reaktionen
    1
    Beiträge
    13.506
    Mitglied seit
    5. Jun. 2005
    • 22. November 2010 um 13:02
    • #6

    Hi Stefan,

    ja, "ldap" lernt man nicht in ein paar Stunden ... .
    Ich darf beruflich einen großen Verzeichnisdienst mit ein paar 100.000 Einträgen nutzen, und das auch noch mit einigen erweiterten Rechten. Und das hat mich so interessiert, dass ich mich ein paar Wochen mit dem Thema befasst habe. Aber nachdem ich meinen eigenen kleinen slapd zum Laufen gebracht habe, habe ich ihn nicht mehr angefasst. Er läuft eben.

    Bei mir sind es ggw. nur ca. 180 private Einträge. Das übliche aus dem Thunderbird, wie bei dir viele reine Adresseinträge, aber dann eben auch meine Zertifikatsverwaltung. Und das ganze auf einer 600 MHz-Notebookruine ohne Deckel - dafür aber nur mit einer Leistungsaufnahme von ganzen 8 Watt/Std.

    Ich bin so herangegangen:
    - eine conf ohne jegliche Schnörkel (kein ssl, kein auth usw.)
    - befüllen mit der Struktur, Admin usw.
    - import des ersten exportierten Datensatzes aus dem Thunderbird => jener, den ich gepostet hatte
    - dann Versuch des Imports aller Datensätze => hat kleine Probleme mit Umlauten gegeben, sonst glatt durchgelaufen!
    - und jetzt die Schnörkel, um die erforderlichen Sicherheitsmaßnahmen mal so zu nennen.
    - und zum Schluss bei allen meinen TB-Installationen (und denen anderer Personen, die den ldap nutzen dürfen) die Adressierung auf ldap umgestellt ... .
    Ich hatte also keine nennenswerten Probleme - und kann deswegen auch nichts zu deinen (dn: cn=P.[...]) sagen.

    Kleiner Tipp: Im Linux-Club gibt es jemand (stka), der sich wirklich professionell mit dem Thema befasst, und der auch sehr hilfsbereit ist. Poste doch mal dort .... .

    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Nostraddi
    Mitglied
    Beiträge
    19
    Mitglied seit
    7. Mai. 2004
    • 22. November 2010 um 13:10
    • #7

    Hallo Peter,

    Kann ich machen - aber am Rande, ist LDAP bei Dir ebenfalls eine Einbahnstraße, also darauf angewiesen das Du mit manuellem Aufwand die ggw. 180 Einträge aktualisierst..?! Wenn ein Neuer hinzukommt muss der solange warten bis er übertragen wird, oder wie machst Du das?

    LG Stefan

  • Peter_Lehmann
    Senior-Mitglied
    Reaktionen
    1
    Beiträge
    13.506
    Mitglied seit
    5. Jun. 2005
    • 22. November 2010 um 13:41
    • #8

    Zuerst einmal gibt es wirklich gute ldap-Browser mit vielen nützlichen Funktionen. So zum Bsp. den DirX-Manager, den ich auf Arbeit benutze. Privat nutze ich "gq" oder den "Jxplorer", mit denen das Einpflegen neuer DS ein Kinderspiel ist.
    Wenn dann alles zur Zufriedenheit läuft! kannst du dich mit der entsprechenden TB-Erweiterung befassen. Auch diese läuft gut - wenn auch nicht so komfortabel wie gute ldap-Browser.
    Die Denkweise beim Add-on ist so, dass du dann lokal auf dem Client alles editierst (eben TB-like) und dann mit Klick auf "Sync" mit dem Server synchronisierst. Es muss eben jede Änderung händisch syncronisiert werden. Hat auch seine Vorteile, man kann dann noch mal nachdenken ... .

    Selbstverständlich ist es möglich, dass du die Rechte so setzt, dass jeder seinen eigenen DS editieren kann. Auch beim Lesen kannst du wunderbar Rechte setzen (jeder eingetragene Nutzer darf lesen, zumindest einige Felder aller Nutzer, dafür freigegebene Felder des eigenen DS, eigenes PW ändern, uvam.) Aber das ist schon wieder "hohe Schule".

    Ich habe es bei mir bewusst so konfiguriert, dass:
    - die eingetragenen Nutzer sich mit einem X.509-Zertifikat am Server anmelden, und
    - sie alle DS lesen können. Also alles, was im TB angezeigt wird.
    Selbstverständlich könnten sie das auch mit dem ganz normalen ldap-Browser.
    Der einzige, der Schreiben kann, bin ich.

    Und:
    Bei deiner Anzahl von DS gehe ich mal davon aus, dass es sich nicht mehr um eine private Adressensamlung handelt.
    Bei mir ist das aber eine solche. Ich habe insgesamt ggw. ganze 8 Nutzer, die den ldap überhaupt nutzen. Für mich ist es eben "nur" meine kleine private Adressensammlung, die ich nur einmal pflegen will, und auf die ich immer und von "überall" zugreifen kann. Und natürlich eine große Scheibe "Hobby" ... .
    Es gibt noch eine zweite Sache.
    Ich betreibe "nebenher" eine kleine Privat-CA, wo ich für Familie, Freunde, Forenmitglieder und immer mehr Leute jedes Jahr ein paar Hundert X.509-Zertifikate herstelle. Was vor Jahren als Mittel für die ungestörte Kommunikation zwischen Freunden und in der Familie begann, nimmt langsam so große Dimensionen an, dass ich allmählich auf openCA umstelle. Also auf halbautomatischen Betrieb, wo jeder seine Daten auf einer CA-Webseite selbst eintragen kann. Und im Hintergrund läuft dann der ldap ... .

    MfG Peter

    Thunderbird 45.8.x, Lightning 4.7.x, openSUSE Tumbleweed, 64bit
    S/MIME, denn ich will bestimmen, wer meine Mails lesen kann.
    Nebenbei: die Benutzung der (erweiterten) Suche, und von Hilfe & Lexikon ist völlig kostenlos - und keinesfalls umsonst!
    Und: Ich mag kein ToFu und kein HTML in E-Mails!

  • Nostraddi
    Mitglied
    Beiträge
    19
    Mitglied seit
    7. Mai. 2004
    • 22. November 2010 um 14:23
    • #9

    Hört sich ganz interessant (wenn auch noch etwas unbekannt) an.

    Zitat


    Bei deiner Anzahl von DS gehe ich mal davon aus, dass es sich nicht mehr um eine private Adressensamlung handelt.

    Recht haste. Es ist die Adresssammlung der Synchronisation aller Aussendienstler und mir, als deren Leiter.

    Das ganze läuft seit Jahren so, das man :

    -> unterwegs im Handy einfach mal einen Neuen Kunden/Lieferanten anlegen kann (nur mit SonyEricsson möglich)
    -> nähert man sich dem Empfang (hier) - wird das Handy eben über BT leergesaugt und somit synchronisiert, es werden Neue Termine eingespielt und alle Neuen ausgelesen, alte Aufgaben überprüft (erledigt oder noch offen) etc etc

    Das ist mein Goal - ich möchte es gerne schaffen diese Daten in den LDAP zu bekommen, am besten automatisiert, da die Zahl der DS kontinuierlich steigend ist. Habe ich den Krempel im LDAP, kann ich davon firmenweit von jedem Telefon und natürlich Web zugreifen, kann es mit Skripten leicht verarbeitet werden usw usf.

    Alternative wäre nur die Pflege in einem "PlainText" File, aber da denke ich immer sofort an "Geschwindigkeitsbremse" .... daher habe ich das schon immer gerne über LDAP lösen wollen...

    Ich werde mich einfach nochmal mit Deinem tbirdfix auseinandersetzen, das scheint mir aktuell die beste Möglichkeit zu sein - und natürlich erst einmal 1 Kontakt importieren, dann hat man wenigstens noch eine Übersicht.

    Nochmals Vielen Dank an dieser Stelle!

    Stefan

  • Community-Bot 3. September 2024 um 19:50

    Hat das Thema geschlossen.

Aktuelle Programmversion

  • Thunderbird 138.0.1 veröffentlicht

    Thunder 13. Mai 2025 um 23:25

Aktuelle ESR-Version

  • Thunderbird 128.10.1 ESR veröffentlicht

    Thunder 14. Mai 2025 um 21:50

Keine Werbung

Hier wird auf Werbeanzeigen verzichtet. Vielleicht geben Sie dem Website-Betreiber (Alexander Ihrig - aka "Thunder") stattdessen etwas aus, um diese Seiten auf Dauer finanzieren zu können. Vielen Dank!

Vielen Dank für die Unterstützung!

Kaffee ausgeben für:

3,00 €
1
Per Paypal unterstützen*

*Weiterleitung zu PayPal.Me

Thunderbird Mail DE
  1. Impressum & Kontakt
  2. Datenschutzerklärung
    1. Einsatz von Cookies
  3. Nutzungsbedingungen
  4. Spendenaufruf für Thunderbird
Hilfe zu dieser Webseite
  • Übersicht der Hilfe zur Webseite
  • Die Suchfunktion benutzen
  • Foren-Benutzerkonto - Erstellen (Neu registrieren)
  • Foren-Thema erstellen und bearbeiten
  • Passwort vergessen - neues Passwort festlegen
Copyright © 2003-2025 Thunderbird Mail DE

Sie befinden sich NICHT auf einer offiziellen Seite der Mozilla Foundation. Mozilla®, mozilla.org®, Firefox®, Thunderbird™, Bugzilla™, Sunbird®, XUL™ und das Thunderbird-Logo sind (neben anderen) eingetragene Markenzeichen der Mozilla Foundation.

Community-Software: WoltLab Suite™
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Lexikon
  • Artikel
  • Seiten
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern