PI-Nas – LDAP-Server

Web-Server Inhalt Cloud Dienste

Ursprünglich wollte ich LDAP nicht aufführen. Zum Einen weil ich mich nicht besonders gut damit auskenne, zum Anderen finde ich die Einrichtung und Verwaltung für ein kleines lokales Netz viel zu Kompliziert. Bei wenigen Rechnern ist es einfacher lokale Benutzerkonten zu verwenden. Allerdings ist es auf den meisten kommerziellen NAS-Systemen verfügbar. Daher ist das nachfolgende Tutorial zu einem großen Teil eine Übersetzung von „Raspberry Pi Infrastructure Series – Samba PDC using LDAP (PART 1 & 2)“ aus Ben Hannas Blog.

Der LDAP-Server sollte nur installiert werden, wenn man ihn innerhalb seines lokalen Netzwerkes unbedingt benötigt. Im weiteren Verlauf des Tutorials wird er nicht benötigt, bzw. es existiert eine alternative Lösung.

OpenLDAP instalieren

Als erstes den OpenLDAP-Server und die LDAP-Tools installieren:

Während der Installation muss ein Passwort festgelegt werden, das in einem nachfolgenden Dialog nochmals bestätigt werden muss.

ldap01

Da bei der Installation lediglich das LDAP Admin Passwort festgelegt wird, nicht aber die weiteren notwendigen Einstellungen, muss der Konfigurations-Wizard nochmals aufgerufen werden:

Die nachfolgenden Fragen wie folgt beantworten:

  • Omit OpenLDAP server configuration? No
  • DNS domain name: pi-nas.fritz.box
    Ich verwende eine FritzBox als lokalen Router, das heißt alle Adressen des lokalen Netzes enden auf „fritz.box“. Es würde auch „pi-nas.local“ funktionieren. Das Ganze ist abhängig von der eigenen Infrastruktur. Ggf. muss hier etwas herum probiert werden.
  • Organization name: ein beliebiger Name
  • Administrator password: ****
    Ein beliebiges Passwort das oben gesetzte wird dadurch überschrieben.
  • Confirm password: ****
    Wiederholen des Passwortes
  • Database backend to use: HDB
  • Do you want the database to be removed when slapd is purged? No
  • Move old database? Yes
  • Allow LDAPv2 protocol?  No

Nun läuft LDAP im Basis Modus.

LDAP Web-Frontend installieren

Bevor nun weitere Einstellungen vorgenommen werden, empfiehlt es sich erst einmal ein Web-Frontend zu installieren. Hier gibt es verschiedene, ich habe mich für LDAP Account Manager entschieden, nicht nur weil das von Ben vorgeschlagen wurde, es macht auch den besten Eindruck:

Nach der Installation kann der LDAP Account Manager (LAM) über https://pi-nas/lam/ aufrufen werden.

ldap02Bevor man sich nun anmelden kann, muss LAM erst einmal konfiguriert werden, hierfür oben links auf LAM configuration klicken. Das Master Passwort auf der folgenden Seite lautet lam. Wenn dies eingegeben wurde gelangt man zu den allgemeinen Einstellungen, dort erst einmal den Link Edit server profiles betätigen.

ldap06

Im Abschnitt Server settings, in das Textfeld Tree suffix die folgende Bezeichnung eingeben:

  • dc=pi-nas,dc=fritz,dc=box

Kleiner Hinweis für alle Mac User: Das Programm LDAPManager erleichtert das Einrichten ungemein, da es alle Variablen anzeigt.

Im Abschnitt Security settings, trägt man in die Textfeld List of valid users den Administrator ein:

  • cn=admin,dc=pi-nas,dc=fritz,dc=box

Nun auf den Reiter Account types klicken.

ldap07

Im Abschnitt Active account types muss jeweils der LDAP suffix angegeben werden:

  • Users: ou=Users,dc=pi-nas,dc=fritz,dc=box
  • Groups: ou=Groups,dc=pi-nas,dc=fritz,dc=box
  • Hosts: ou=Computers,dc=pi-nas,dc=fritz,dc=box
  • Samba domains: dc=pi-nas,dc=fritz,dc=box

Die Einstellungen nun speichern. Es wird wieder die Login Seite aufgerufen, auf der man sich mit dem LDAP Admin Passwort anmelden kann.

ldap08

Nach dem Anmelden noch auf Create klicken, damit die angelegten Gruppen, Benutzer und Computer auch verfügbar sind.

LDAP Authentication Setup

Leider war es das noch lange nicht alles, den es fehlt noch die Authentifizierung. Damit wir tatsächlich gegenüber der Domäne  authentifizieren können, müssen noch LDAP-Authentifizierung installiert werden. Dies ist vor allem notwendig, wenn PDC verwendet werden soll.

Hierfür die folgenden Pakete installieren:

Die nachfolgenden Dialoge wie folgt bearbeiten:

  • LDAP server URI:  ldap://pi-nas:389
  • LDAP server search base: dc=pi-nas,dc=fritz,dc=box
  • Name services to configure: (eigentlich alle)
    • aliases
    • ethers
    • group
    • hosts
    • netgroup
    • networks
    • passwd
    • protocols
    • rpc
    • services
    • shadow

LDAP Samba Implementierung

Damit LDAP mit Samba arbeiten kann, muss erst einmal das Schema installiert und in LDAP integriert werden. Zuerst werden dafür die smbldap-tools installiert:

Anschließend das Samba Schema aus dem Beispiel-Verzeichnis in das LDAP Schemen-Verzeichnis kopieren und entpacken:

Nun wird eine temporäre Konfigurationsdatei benötigt:

Den nachfolgenden Inhalt in die Datei kopieren:

Dann die folgenden Befehle absetzen:

Sollte kein Fehler aufgetreten sein, arbeitet LDAP mit Samba zusammen. Allerdings noch nicht in der richtigen Konfiguration. Bevor die Samba Konfiguration geändert wird sollte erst mal eine Sicherheitskopie der Vorhanden Konfiguration vorgenommen werden:

Danach die neue Beispiel-Datei aus den smbldap-tools kopieren:

Die kopierte Datei öffnen:

Und die folgenden Variablen entsprechend Anpassen:

  • workgroup = Organization name/ein beliebiger Name
  • passdb backend = ldapsam:“ldap://pi-nas/“
  • ldap ssl = off
  • ldap admin dn = cn=admin,dc=pi-nas,dc=fritz,dc=box
  • ldap suffix = dc=pi-nas,dc=fritz,dc=box

Die Datei Speichern und Samba neu starten:

Damit Samba mit LDAP arbeiten kann muss noch das LDAP Passwort Samba bekanntgegeben werden:

Wir nähern uns langsam dem Ende, es fehlen lediglich ein paar Einstellungen, damit auch die Benutzer und Gruppen innerhalb von LDAP verfügbar sind.

Zunächst einige Vorlagen kopieren (entpacken):

Die Datei smbldap_bind.conf öffnen:

Und wie folgt anpassen:

Für die nächste Anpassung benötigen wir erst einmal die SID. Dazu das folgende Kommando absetzen:

Die SID kopieren und die Datei smbldap.conf öffnen:

Dann die folgenden Parameter anpassen:

  • SID=“S-1-5-21-2973213142-491540504-2989398984″
  • sambaDomain=“Organization name/ein beliebiger Name
  • slaveLDAP=“pi-nas“
  • masterLDAP=“pi-nas“
  • ldapTLS=“0″
  • suffix=“dc=pi-nas,dc=fritz,dc=box“

Danach noch alles mit dem folgenden Befehl bekanntgeben:

Leider scheint es so zusein, dass keine einfache Möglichkeit existiert die lokalen Benutzer, die bereits auf dem NAS angelegt werden, in LDAP Benutzer zu überführen. Alle bislang gefundenen Anleitungen und Tutorials sind komplizierter als die wenigen Benutzer erneut anzulegen. Dazu müssen die vorhandenen nicht einmal gelöscht werden. https://pi-nas/lam/ aufrufen und unter User die vorhandenen Benutzer mit dem gleichen Benutzernamen anlegen.

Web-Server Inhalt Cloud Dienste

Dieses Dokument ist ein Teil von „Low Budget NAS mit einem Raspberry PI“ und setzt die vorangegangenen Schritte voraus!

Comments

  • Kleiner Hinweis zur LAM configuration -> Profile Settings:

    Falls der Hinweis kommt, dass „Please enter a valid bind user“ beim klick auf „save“ erscheint, aber die Daten ganz sicher richtig sind. Prüfen Sie ob unter „Security settings“ -> „Login method“ -> „LDAP Search“, die Felder „Bind User“ und „Bind password“ vom Browser automatisch schon Inhalt haben. Diese Felder müssen leer sein. Löschen Sie den Inhalt, wechseln wieder zurück auf „Fixed list“ und versuchen Sie zu speichern.

    Vielen Dank für dein Tutorial!

    Christian F.17. September 2013
  • Hallo,

    wenn ich versuche, mich beim LAM mit dem admin-User anzumelden bekomme ich immer die folgende Meldung:

    LDAP error, server says:
    (-1) Can’t contact LDAP server

    Weiß jemand an was das liegen könnte?

    Danke

    Johannes4. Januar 2014
  • beim Absetzen des Befehls „sudo smbldap-populate“ bekomme ich immer die Fehlermeldung :
    Please provide a password for the domain root:
    /usr/sbin/smbldap-passwd: user root doesn’t exist

    Kann  mir da jemand weiterhelfen.

    Christian15. Februar 2015
  • Hallo,

    ich bekomme bei dem Befehlt „net getlocalsid“ folgende Meldung:

    Warum wird da nicht mein PI angezeigt=

     

    MfG

    Nikolai31. März 2015
  • @Christian: Wenn bei „sudo smbldap-populate“ die Fehlermeldung kommt, dann überprüfe mal, ob Du in der Datei /etc/smbldap-tools/smbldap_bind.conf bei slavePw=„{Password}“ und masterPw=„{Password}“ das Admin-Passwort im Klartext angegeben hast (ohne die geschweiften Klammern), das Du im Schritt  „sudo dpkg-reconfigure slapd“ vergeben hast.

    Gruß

    Michael

    Michael28. Februar 2016
  • @Johannes: Wenn Du die Meldung

    LDAP error, server says:
    (-1) Can’t contact LDAP Server

    bekommst, dann läuft vermutlich der slapd nicht. Also mit „sudo service slapd start“ nochmal starten.

    Gruß

    Michael

    Michael28. Februar 2016