
Ich versuche, einen OpenLDAP-Testserver einzurichten, da ich noch nie mit OpenLDAP gearbeitet habe. Ich verwende das Standardpaket „OpenLDAP-Servers“ auf einem Redhat-basierten Rechner (mit Oracle Linux). Ich habe die Pakete installiert und den Server gestartet.
Ich habe jetzt keine Ahnung, wie ich den Server tatsächlich dazu bringe, etwas Nützliches zu tun. Ich kann mit Luma nicht dorthin navigieren (beim Versuch, auf den Eintrag der obersten Ebene zuzugreifen, wird „Kein solches Objekt“ angezeigt). Aus den OpenLDAP-Dokumenten geht nicht hervor, wie man einen Server tatsächlich in eine funktionierende Grundkonfiguration bringt. Und alle Informationen im Internet beziehen sich auf die alte Datei slapd.conf und nicht auf die neue Datei slapd.d und cn=config.
Wie bekomme ich eine funktionierende OpenLDAP-Installation im Vanilla-Paket hin, bei der ich in Luma zum Root-DN navigieren kann?
Antwort1
Ich fühle deinen Schmerz.
Versuchen Sie Folgendes (es wurde unter Scientific Linux 6.5 getestet, sollte also auch unter OL funktionieren):
- OpenLDAP-Server installieren:
yum install openldap-servers openldap-clients
) - Anfang
slapd
:service slapd start
(und vielleichtchkconfig slapd on
) - Erstellen Sie Passwörter für
cn=config
und Ihren normalen LDAP-Administratorbenutzer mitslappasswd
. Beachten Sie die Ausgabe. - Erstellen Sie eine LDIF-Datei mit folgendem Inhalt:
dn: olcDatabase={0}Konfiguration,cn=Konfiguration Änderungstyp: ändern hinzufügen: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj dn: olcDatabase={2}bdb,cn=config Änderungstyp: ändern hinzufügen: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj - ersetzen: olcRootDN olcRootDN: cn=admin,dc=Ihr,dc=Basis,dc=com - ersetzen: olcSuffix olcSuffix: dc=Ihr, dc=Basis, dc=com
- Die Werte für
olcRootPW
sollten durch die Ausgabe ersetzt werden, dieslappaswd
Sie zuvor notiert haben. - Natürlich
olcSuffix
undolcRootDN
sollte an Ihren neuen Basis-DN angepasst werden. Geben Sie all dies mit dem folgenden Befehl an den LDAP-Server weiter:
ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif
Danach sollten Sie in der Lage sein, eine Verbindung zu beiden cn=config
und dc=your,dc=base,dc=com
über LDAP herzustellen.
Antwort2
Bevor Sie den OpenLDAP-Server starten, müssen Sie zunächst einige Dinge einrichten.
Basiseinstellung
Sie müssen einen Root-Benutzer und ein Passwort einrichten und Ihren Basis-DN definieren. slapd.conf
Suchen Sie in nach den Zeilen, die auf die Zeilen folgen, und legen Sie sie auf die gewünschten Werte fest.
suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"
Normalerweise besteht Ihr Basis-DN (definiert wie suffix
in der Datei) aus den Komponenten Ihres Domänennamens, getrennt durch Kommas und mit dem Präfix dc=
. So serverfault.com
könnte daraus werden dc=serverfault,dc=com
. Ihr rootdn
muss unter diesem Suffix stehen.
Sie müssen auch die Zeile ändern, die das Root-Passwort definiert. Sie können es auf einen Klartextwert setzen oder verwenden, slappasswd
um einen Hash zu erstellen. Sie müssen dann entweder den Klartextwert oder den Hashwert in slappasswd
eine Zeile einfügen, die wie folgt aussieht:
rootpw myultrasecurepassword
Schemas
An diesem Punkt ist es eine gute Idee, über die Schemata nachzudenken, die Sie verwenden möchten. Ein Schema definiert die Attribute, die ein Objekt haben kann. Sie müssen also die Schemata einschließen, die die benötigten Attribute enthalten. Diese Schemata sind oben aufgeführt slapd.conf
und die hier aufgeführten sind normalerweise die absolut grundlegenden Schemata, die Sie benötigen:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
Diese Pfade werden in Arch Linux verwendet. Sie müssen sie daher möglicherweise an Oracle Linux anpassen.
Über slapd.conf
vsslapd.d
slapd.conf
OpenLDAP ist von der Offline-Konfiguration (durchgeführt in ) zur Online-Konfiguration gewechselt und speichert Daten in einem speziellen cn=config
Baum, der in zu finden ist slapd.d
. Das Ändern der ldif
Dateien in slapd.d
ist jedoch ein mühsamer Prozess, daher ist es viel einfacher, sie wie oben beschrieben zu bearbeiten slapd.conf
und sie dann in das neue slapd.d
Format zu konvertieren.
Entfernen Sie zunächst alles in slapd.d
. Führen Sie anschließend den folgenden Befehl aus und achten Sie darauf, die Pfade an Oracle Linux anzupassen:
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
Legen Sie dann den Besitzer einfach rekursiv auf Ihren LDAP-Benutzer und Ihre LDAP-Gruppe in diesem Verzeichnis fest, und schon kann es losgehen. Dies muss bei jeder Bearbeitung durchgeführt werden slapd.conf
– denken Sie daran, den OpenLDAP-Server vorher zu stoppen!
Erstdurchlauf
Bevor Sie das Verzeichnis tatsächlich verwenden können, müssen Sie den Basis-DN (und den Root-Benutzer) erstellen. Erstellen Sie eine .ldif
Datei mit Zeilen ähnlich den folgenden:
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example
dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root
Starten Sie nun den OpenLDAP-Server. Wir müssen die Informationen nur noch in das LDAP-Verzeichnis übertragen:
ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif
Ändern Sie natürlich den Root-DN und den LDIF-Dateinamen so, dass sie mit Ihren Angaben übereinstimmen.
Sie sollten jetzt ein funktionierendes LDAP-Verzeichnis eingerichtet haben, das zum Auffüllen bereit ist!
Das Arch Linux Wiki ist eine großartige Informationsquelle zu diesem Thema - siehehttps://wiki.archlinux.org/index.php/OpenLDAPUndhttps://wiki.archlinux.org/index.php/LDAP_Authenticationwenn Sie mehr wissen möchten.