Von Thunderbird, Diskstation und LDAP

Veröffentlicht von DeHejner am

Die Idee ein gemeinsames Adressbuch zu haben, welches auf allen Rechnern zu Hause verfügbar ist, hatte schon länger seinen Reiz. Allerdings hatte ich aufgrund der wenigen Zeit im Sommer und dem mit der Einrichtung so eines Adressbuches kommenden Aufwandes dies verschoben. Nun aber mit den regnerischen Tagen und frühen Abenden, hatte ich keine Ausrede mehr.

1. Schritt: Installation des Directory Servers auf der Diskstation
Wie auf der Diskstation (DS) nicht anders zu erwarten ging dies recht einfach von statten: Paketdienst aufrufen, installieren, User einrichten, Passwort festlegen, fertig!

2. Schritt: Thunderbird mit LDAP verbinden
Hier musst man schon etwas suchen, aber unter den Einstellungen kann man doch einen LDAP Server hinzufügen, welchen Thunderbird verwendet, um beim Adressieren nach vorhanden Kontakten zu suchen. Die benötigten Informationen sind alle im Konfigmenü des LDAP auf der DS nachzulesen und somit stand die Verbindung recht schnell.
Thunderbird LDAP connection

1. Problem: Name vorhanden, Adresse nicht
Nachdem ich die DS nun erfolgreich verbunden hatte (und zuvor über das Menü der DS auch ein paar Kontakte angelegt hatte), suchte ich diese über das Adressbuch von Thunderbird: gefunden! Doch leider wurde außer dem Namen und der eMailadresse nichts von dem angezeigt, was ich zuvor eingegeben hatte. Also tiefer reinwühlen in den Kram und feststellen, dass für Mozilla ein eigenes Schemafile auf der LDAP hinterlegt werden muss. Mittlerweile nutze ich ein eigens modifiziertes Schemafilewelches auch noch das Geburtsdatum beinhaltet. Dieses wird einfach unter /usr/syno/etc.defaults/openldap/schema/ abgelegt, die entsprechende Referenz unter /usr/syno/etc.defaults/openldap/schema.conf eingetragen und der LDAP Server mit /usr/syno/etc/rc.d/S10slapd.sh restart neu gestartet .

3. Schritt: Adressbuch füllen
Mit dem neuen Schemafile war es nun nicht mehr möglich, die Kontakte direkt auf der DS einzugeben. Als Alternative finde ich bisher den LDAP Browser sehr nützlich. Die Verbindung mit dem LDAP geht recht einfach (man sollte darauf achten, dass man hier über den admin User eingeloggt ist, der volle Zugriffsrechte auf den LDAP hat). Beim hinzufügen der User, hat man nun die Möglichkeit verschiedene Klassen für diesen User zu verwenden, für das Thunderbird Adressbuch habe ich folgende Klassen als ausreichend empfunden:
jXplorer - new user

2. Problem: Welches Feld ist welches?
Da im jXplorer direkt die namen aus den Schemafiles verwendet werden, ist nicht jedes Feld selbsterklärend. Ich habe mir also einen Testuser erschaffen und jedes Feld mit seiner Bezeichnung benamt, um dann über das Adressbuch zu sehen, welches wo auftaucht. Ich würde dies als etwas schmerzhaft bezeichnen, da die Felder teilweise Restriktionen haben, diese aber nicht bei der Eingabe sondern erst beim Speichern geprüft werden. Sollte man nun wie ich zuerst alle Felder gefüllt haben, und dann abspeichern, wird man feststellen, dass es multiple Verletzungen gibt, die allerdings nur mit einer Exception angezeigt werden. Also Kommdando zurück, jeden Wert noch einmal eingegeben, und nach jedem gespeichert. Heraus kam folgendes Mapping:
TB LDAP Mapping 1 TB LDAP Mapping 2 TB LDAP Mapping 4 TB LDAP Mapping 3
TB LDAP Mapping 5

3. Problem: Nicht alle Felder von TB in Schemafile
Nachdem ich nun das Mapping hatte, musste ich feststellen, dass mehrere Felder nicht gefüllt waren. Aus diesem Grund habe ich zum einen mein Schemafile dementsprechend geändert, dass nun auch der Geburtstag dort vorhanden ist und zum zweiten die lokale Präferenzen Datei von Thunderbird etwas umgebogen, damit die Straße für die private Adresse nun auch sichtbar wird. Hier wird einfach die folgende Zeile in die prefs.js eingefügt:
user_pref("ldap_2.servers.diskstation.attrmap.HomeAddress", "homepostaladdress");

Nächste Schritte: Anbindung Apple Adressbuch
Hier bin ich gespannt, ob und wie sich dies realisieren lässt, vor allem, wenn man nicht im heimischen Netzwerk ist. Wer weitere Tipps, Ideen und Anregungen hat, darf sich gerne bei mir melden.


14 Kommentare

martmen · 31. Dezember 2013 um 16:42

Hallo Herr Nickel,

vielen Dank für Ihre Beschreibung – ich hoffe ich bekomme das auch noch hin. Das liest sich ja sehr einfach, aber wie kann ich bei Schritt 2 das modifizierte Schemafile anbinden?
Ich habe bei meiner DS213+ keinen Zugang als root und als Admin werden die genannten Verzeichnisse nicht angezeigt.

martmen

DeHejner · 1. Januar 2014 um 10:49

Hallo martmen,

der root Zugang fuktionionert gleich dem admin Zugang (gleiches Passwort). Eine kleine Dokumentation gibt es dazu auf hier:

Die_Kommandozeile

Was man noch hinzufügen muss ist, ein regelmäßiges Backup der Kontakte über den Client zu machen. Synology nimmt die selbst hinzugefügten Kontakte leider nicht in das Standard-Backup des LDAP auf.

Viel Erfolg!
DeHejner

martmen · 2. Januar 2014 um 12:45

Hallo DeHejner,
danke für die Antwort aber
Wo finde ich die Dokumentation? – der Link funktioniert nicht.
Viele Grüße
martmen

DeHejner · 2. Januar 2014 um 14:14

Link im obigen Kommentar korrigiert.

http://www.synology-wiki.de/index.php/Die_Kommandozeile

AmigaFreak · 25. Januar 2014 um 17:49

Hallo DeHejner,
vielen Dank für Ihren Beitrag.
Genau das habe ich gesucht, mittlerweile läuft mein LDAP Server als Adressbuch für TB genau so wie er soll.
Viele Grüße
AmigaFreak

AmigaFreak · 25. Januar 2014 um 19:06

Hallo DeHejner,
habe doch noch eine Frage:
Wie editiere ich die prefs.js bzw. user.js.
Thunderbird scheint die Änderungen nicht zu übernehmen,
bzw. wird die Straße nicht angezeigt, obwohl im LDAP Verzeichnis korrekt angelegt.
Vielen Dank für Ihre Mühe
Gruß
Der AmigaFreak

DeHejner · 26. Januar 2014 um 11:28

Hallo AmigaFreak,

du musst beim Editieren darauf achten, dass du Thunderbird währenddessen geschlossen hast (auch kein Hintergrundtask oder so etwas offen ist). Thunderbird überschreibt beim Schließen die Dateien.

Gruß
DeHejner

AmigaFreak · 26. Januar 2014 um 13:48

Hallo DeHejner,
vielen Dank für Deinen Rückmeldung.
Habe es nochmal versucht – ohne Erfolg.
Bin aber mittlerweile fündig geworden, und wollte meine Erfahrungen anderen Usern nicht vorenthalten:
Eine neue Datei im Profilordner erstellen: user.js
Da wird dann Deine Zeile eingefügt.
Bei mir hat es geholfen, „diskstation“ durch „default“ zu ersetzen,
jetzt läuft wirklich alles wie gewünscht.

Viele Grüße
Der AmigaFreak

Bernd · 20. September 2015 um 01:05

Hallo,

ich versuche ebenfalls meinen NAS Server DS214Play einzurichten und wollte nach der Anleitung die Datei in das Verzeichnis kopieren.
Ich verbinde mich mit Telnet als admin und kann aber keine Datei in das Verzeichnis kopieren.
Stattdessen bekomme ich immer die Meldung:
cp: can’t creat ‚mozilla_op20.schema‘ : Permission denied

Ich habe bereits in der DSM nachgeguckt, dass ich als admin auch alle Rechte für jeden Ordner habe…
Ich finde leider keinen weiteren Lösungsansatz.

Über eine Rückmeldung würde ich mich sehr freuen.
VG Bernd

DeHejner · 21. September 2015 um 07:15

Hallo Bernd,

hast du mal versucht mit einem
touch test.tst
eine andere Datei direkt anzulegen?

Evtl. kann es daran liegen, dass du dich als root verbinden musst und nicht als admin, ich meine da wäre ein Unterschied in der Berechtigung.

Gruß
DeHejner

ishar_traveller · 27. August 2019 um 17:48

Hallo…sehr interessantes Tutorial…
..Folgende Frage : Server läuft …es gibt einen LDAP Benutzer..wie und vor allem WO erstelle ich für diesen ein Telefonbuch bzw lege via DS Kontakte an ??
..Geplante Nutzung: LDAP auf NAS vesorgt mit einem gemeinsam genutzten Account alle VOIP Telefone im Intranet mit dem gemeinsamen Telefonbuch und alle PC-Arbeitsplätze mit TB greifen via LDAP auch auf die Kontakte zu…

LDAP Server auf dem NAS läuft als Provider Server mit fdqn medialarts.net / PW
LDAP Client is aktiviert… localhost …ssl/tls…dc=medialarts,dc=net
Verbindungsstatus : verbunden…

Im TB ist der LDAP zugefügt…allerdings sehe ich nicht ob wirklich suber verbunden wird…

Ich bin dankbar für jeden Schritt weiter…alles etwas kryptisch :D

WIe kriege ich Kontakte via DS für den LDAP User zugefügt?

DeHejner · 29. August 2019 um 12:25

Ich habe dies mittels jXplorer gemacht. Das Tool ist kostenfrei und funktioniert ganz gut.

Allerdings muss ich gestehen, dass ich das seit gut zwei, drei Jahren nicht mehr nutze und daher nicht weiß, was sich im LDAP der DS geändert hat. Ob du verbunden bist, solltest du dann spätestens im TB sehen, wenn du einen User dort verwendest, den du nur auf der DS hinterlegt hast. Ansonsten bekam man seinerzeit keine wirklich Quittung, ob die Verbindung funktioniert oder nicht.

Frank · 5. Dezember 2021 um 00:34

Hallo DeHejner,
danke für den Artikel. Ich bekomme keine Verbindung zum LDAP Server aus Apple MacBook Kontakte oder Outlook for Mac. In TB habe ich keine LDAP Möglichkeiten gefunden. Ich habe den LDAP Server auf virtual DSM installiert, einen Nutzer angelegt und gebe in apple Kontakte – LDAP die Infos ein, der Testbenutzer erscheint nicht, Hast du eine Idee?

DeHejner · 5. Dezember 2021 um 11:50

Hallo Frank,

ich kenne mich mit Apple nicht so gut aus und muss ehrlich sagen, dass ich mit dem Thema seit ein paar Jahren auch nicht mehr beschäftigt habe. Was mir im Moment im Kopf rum geht, was ggf. sein könnte.
a) Ist auf der DS ggf. eine Firewall aktiv, die den LDAP nicht nach außen frei gibt?
b) Brauch Apple vielleicht noch etwas anderes, um mit einem LDAP zu reden? Ich vermute zwar nicht, denn das Protokoll sollte eigentlich Herstellerunabhängig sein.

Sonst fällt mir gerade nicht viel ein. Sorry

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite ist durch reCAPTCHA und Google geschütztDatenschutz-Bestimmungen UndNutzungsbedingungen anwenden.

The reCAPTCHA verification period has expired. Please reload the page.