ldap (slapd) auf der Box?

Peter_Lehmann

Mitglied
Mitglied seit
13 Mrz 2007
Beiträge
670
Punkte für Reaktionen
265
Punkte
63
Hallo Freunde,

Ich habe da so eine Idee ...
Schon seit längerer Zeit läuft bei mir (in meiner "privaten IT") auf einer "Notebook-Ruine" ohne Display ein openLDAP-Server im Dauerbetrieb.
Das bringt mir:
- ein einziges zu pflegendes Adressbuch mit Post- und E-Mailadressen, Telefonnummern und sonstigen Kontaktdaten
- Zugriff immer und von "überall", für mich und meine Familie und andere "Berechtigte"
- ein Adressbuch für alle meine Thunderbird-Installationen (home, Notebook, diverse USB-Sticks)
- einen Zertifikatsspeicher für x.509-Zertifikate (S/MIME-Verschlüsselung)
- Übernahme von Adressdaten zur Textverarbeitung
- zentrale Nutzerverwaltung für meine Linux-Nutzer (posix-Account)
- (in Arbeit) ein Webfrontend für meine kleine PKI mit openCA
- und noch einiges anderes, was ggw. nur in Gedankenform vorhanden ist.

Selbstverständlich ist das Ganze mit TLS (und SSL wg. Thunderbird) gesichert und nur nach entsprechender Auth. erreichbar.


Und jetzt, nachdem ich meine ersten 5 freetz-Images erfolgreich erstellt habe, kommt mir die Idee ... den ldap auf die Box zu bringen.

Bevor ich mich jetzt in ein für mich völlig neues Abenteuer stürze, möchte ich zuerst einmal anfragen ob es weitere User hier gibt, die sich mit diesem Thema (ganz still) befassen. Auch Erfahrungen über Fehlschläge helfen mir weiter und ersparen mir zumindest unnütze Arbeitsstunden.
Sollte sich einer der erfahrenen freetz-Entwickler mit diesem Thema befassen wollen, dann kann ich zumindest meine reichen Erfahrungen hinsichtlich Konfiguration und Betrieb von ldap-Servern und mit X.509-Zertifikaten einbringen.

So, nun warte ich mal auf hoffentlich positive Antworten.
(Und hoffentlich habe ich nicht wieder gegen irgendwelche Forenregeln verstoßen ... .)

MfG Peter
 
Das klingt interessant, ließe sich damit auch eine Integration der Fritz!Box Telefonbücher realisieren, um den doppelten Pflegeaufwand zu minimieren? Es wäre schon super, wenn die Daten im Telefon / Adressbuch konsistent und synchron wären. Die Datenbank dazu müsste auf einem externen Datenträger wegen der Größe.

Was ist denn mit den SSL Bibliotheken für die Zertifikate / ldap, es gibt imho immer Ärger mit fritz und libssl.
 
Also,

ich habe gestern Abend in einem Anflug von Wahnsinn mal damit begonnen. Voraussetzung dafür war, wenn ich das recht gelesen habe, BerkleyDB, also erstmal die db-4.8-NC und dann OpenLDAP stable übersetzt (nicht ins Freetz integriert, nur direkt mit der Toolchain übersetzt).
Ich habe nach einigem Testen zumindest einen statisch gelinkten slapd bekommen (über 4MB ;-)). Hänge den gleich mal an, wenn ich ihn gefunden habe...
Da ich keine Anhung habe, welche Optionen man dafür braucht, kann es natürlich sein, dass das Binary so nicht wirklich sinnvoll nutzbar ist. Eine "Minianleitung", was ich da gemacht habe, packe ich mit bei, dann dürft ihr euch um weitere Feinheiten kümmern ;-)

Code:
PATH=$PATH:~/freetz-trunk/toolchain/target/bin

#
#Berkleydb:
#
# Holen und auspacken http://download.oracle.com/berkeley-db/db-4.8.24.NC.tar.gz
#
cd build_unix/

CC="mipsel-linux-gcc" CXX=mipsel-linux-g++  AR=mipsel-linux-uclibc-ar AS=mipsel-linux-uclibc-as LD=mipsel-linux-uclibc-ld  CFLAGS="-Os -static -pipe -march=4kc -Wa,--trap" ARCH=mips  LDFLAGS=-static ../dist/configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --datadir=/usr/share --includedir=/usr/include --infodir=/usr/share/info --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var --mandir=/usr/share/man --sbindir=/usr/sbin --sysconfdir=/etc --enable-shared --enable-static --disable-java --enable-cxx --with-mutex=UNIX/fcntl --disable-tcl --enable-compat185 --enable-debug --enable-statistics --enable-replication --enable-cryptography

make  DESTDIR="~/mipsel_berkleyinstall" install


#
#openldap
#
# holen und auspacken ftp://gd.tuwien.ac.at/infosys/network/OpenLDAP/openldap-stable/openldap-stable-20091028.tgz 
#

#patchen
cat <<EOF > string_patch
--- include/ac/string.h	2009-12-02 19:28:24.000000000 +0100
+++ include/ac/string.h	2009-12-02 19:29:27.000000000 +0100
@@ -89,11 +89,12 @@
 		else AC_MEMCPY( (d), (s), (n) ); \
 	} while(0)
 
+/*
 #ifdef NEED_MEMCMP_REPLACEMENT
 	int (lutil_memcmp)(const void *b1, const void *b2, size_t len);
 #define memcmp lutil_memcmp
 #endif
-
+*/
 /* GNU extension (glibc >= 2.1.91), only declared when defined(_GNU_SOURCE) */
 #ifndef HAVE_MEMRCHR
 #undef memrchr

EOF
patch -p0 < string_patch


CC="mipsel-linux-gcc" CXX=mipsel-linux-g++  AR=mipsel-linux-uclibc-ar AS=mipsel-linux-uclibc-as LD=mipsel-linux-uclibc-ld  CPPFLAGS="-I~/mipsel_berkleyinstall/usr/include/" CFLAGS="-Os -pipe -march=4kc -Wa,--trap " ARCH=mips  LIBS="-lpthread" LDFLAGS="-static -L~/mipsel_berkleyinstall/usr/lib/" LD_LIBRARY_PATH="~/mipsel_berkleyinstall/usr/lib/" ./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux   LD_LIBRARY_PATH="~/mipsel_berkleyinstall/usr/lib/"   --enable-static  --with-yielding_select="yes" --without-cyrus-sasl --without-threads --disable-ipv6


make depend

make LTFLAGS=-all-static


Jörg

Ach so, Ausgabe:
Code:
/var/tmp # ./slapd -V
@(#) $OpenLDAP: slapd 2.4.19 (Dec  2 2009 20:09:24) $
	joerg@joerg-desktop:/home/joerg/freetz-trunk_newuclib/openldap-2.4.19/servers/slapd

/var/tmp # ./slapd --help
./slapd: illegal option -- -
usage: ./slapd options
	-4		IPv4 only
	-6		IPv6 only
	-T {acl|add|auth|cat|dn|index|passwd|test}
			Run in Tool mode
	-c cookie	Sync cookie of consumer
	-d level	Debug level
	-f filename	Configuration file
	-F dir	Configuration directory
	-g group	Group (id or name) to run as
	-h URLs		List of URLs to serve
	-l facility	Syslog facility (default: LOCAL4)
	-n serverName	Service name
	-o <opt>[=val] generic means to specify options; supported options:
		slp[={on|off|(attrs)}] enable/disable SLP using (attrs)
	-r directory	Sandbox directory to chroot to
	-s level	Syslog level
	-u user		User (id or name) to run as
	-V		print version info (-VV only)
/var/tmp #
 

Anhänge

  • server_slapd_binaries.tgz
    1.2 MB · Aufrufe: 20
Zuletzt bearbeitet:
Die erste Frage, ist, ob Speicher und Rechenleistung dafür reichen. Bei einer 7270 könnte das gehen.
Außerdem benötigt man etliche Libraries.
Prinzipiell sollte aber nichts dagegen sprechen.
 
hallo leute und ein gutes neues jahr
gibt es schon fortschritte oder gar eine lösung?

gruß, frank
 
Nein. (und wegen der Zeichenanzahl: Hätte sich sicherlich auch im Thread gefunden...)
 
Hallo Peter,
zu dem Thema scheint sich laengere Zeit nichts mehr getan zu haben, bin mir aber dazu nicht sicher, da ich neu im Forum bin und nicht weiss, ob ich alles dazu gefunden habe.

Ich hab jetzt ebenfalls viele Stunden investiert und mir mit freetz ein paar Binaries erstellt, die ich jetzt auf meiner Fritzbox 7240 starten konnte. Der LDAP-Zugriff von allen Rechnern im Heimnetz funktioniert problemlos. Die SW laeuft seit einigen Tagen auf der Fritzbox problemlos, zumindest solange man sich nicht zusaetzlich ueber Telnet anmeldet, dann kommt es manchmal zu unerklaerlichen Reboots der Box.

Mein LDAP-Server startet sich nach dem Booten der Fritzbox vom USB-Stick und initialisiert von dort auch die Datenbank mit einem LDIF-File. Danach sieht man mit dem Kommando top auf der Fritzbox 5 zusaetzliche Threads des slapd mit den zugehoerigen Ressourcen. Hier ist sicher noch Finetuning an den slapd- und BDB-Parametern erforderlich, um die Box nicht zu ueberlasten (vielleicht auch der Grund fuer die sporadischen Abstuerze bei Telnet-Sessions.

Aus meiner Sicht eine ideale Ressourcen-schonende Loesung fuer kleine Heimnetze. Zusatzlich laeuft bei mir noch openvpn auf der Box, so dass ich auch von Remote mein Adress-Verzeichnis abfragen kann.

Ich werd das jetzt mal einige Zeit nutzen und beobachten, um zu sehen, wie stabil es laeuft.

Gruss,
Hans-Peter




Hi Frank,

nein, ich habe keine neuen Ergebnisse vorzuweisen. Trotz vieler Stunden Beschäftigung damit.
Das Projekt ist wohl doch, zumindest gegenwärtig, noch etwas zu mächtig für mich.
Aber der slapd auf der Laptop-Ruine läuft und läuft ... .

MfG Peter
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.