Grundlegendes openldap-Setup unter Verwendung der Konfiguration slapd.d

14

Ich versuche, einen Test-Openldap-Server einzurichten, da ich vorher noch nicht mit Openldap gearbeitet habe. Ich verwende das Standardpaket openldap-servers auf einem Red Hat-basierten Computer (unter Oracle Linux). Ich habe die Pakete installiert und den Server gestartet.

Ich habe jetzt keine Ahnung, wie ich den Server dazu bringen soll, etwas Nützliches zu tun. Ich kann mit luma nicht danach suchen ('Kein solches Objekt', wenn ich versuche, auf den Eintrag der obersten Ebene zuzugreifen). In den openldap-Dokumenten wird unklar angegeben, wie Sie einem Server eine grundlegende Arbeitskonfiguration und alle Informationen online bereitstellen ist für die alte slapd.conf datei eher die neue slapd.d und cn = config.

Wie bekomme ich eine vanille-gepackte openldap-Installation, bei der ich zum root-dn in luma navigieren kann?

thecoop
quelle

Antworten:

20

Ich fühle deinen Schmerz.

Probieren Sie dies aus (es wurde unter Scientific Linux 6.5 getestet, sollte also auch unter OL funktionieren):

  • Installieren Sie OpenLDAP - Server: yum install openldap-servers openldap-clients)
  • start slapd: service slapd start(und vielleicht chkconfig slapd on)
  • Erstellen Sie Passwörter für cn=configund Ihren normalen LDAP-Administrator mit slappasswd. Beachten Sie die Ausgabe von diesem.
  • Erstellen Sie eine LDIF-Datei mit folgendem Inhalt:
dn: olcDatabase = {0} config, cn = config
Änderungstyp: Ändern
add: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj

dn: olcDatabase = {2} bdb, cn = config
Änderungstyp: Ändern
add: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj
-
ersetzen: olcRootDN
olcRootDN: cn = admin, dc = your, dc = base, dc = com
-
ersetzen: olcSuffix
olcSuffix: dc = your, dc = base, dc = com
  • Die Werte für olcRootPWsollten durch die slappaswdzuvor notierte Ausgabe ersetzt werden .
  • Natürlich olcSuffixund olcRootDNsollte an Ihre neue Basis-DN angepasst werden.
  • Führen Sie all dies mit dem folgenden Befehl dem LDAP-Server zu:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Danach sollten Sie in der Lage sein, eine Verbindung zu beiden cn=configund dc=your,dc=base,dc=comüber LDAP herzustellen.

Sven
quelle
7
Danke, das ist wie ein Albtraum für Anfänger. Es gibt config, aber in den ersten Zeilen von slap.d / * - NICHT BEARBEITEN, während alle Anleitungen / Erste Schritte / Anleitungen über "Open Config in Ihrem Lieblingseditor"
fghj
9

Bevor Sie den OpenLDAP-Server starten, müssen Sie zunächst einige Dinge einrichten.

Grundlegende Einstellung

Sie müssen einen Root-Benutzer und ein Passwort einrichten und Ihren Basis-DN definieren. In slapd.conf, Blick für die Linien folgenden Zeilen ein , und setzen Sie sie auf die Werte , die Sie wollen.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Normalerweise besteht Ihr Basis-DN (wie suffixin der Datei definiert) aus den Komponenten Ihres Domainnamens, die durch Kommas getrennt und mit einem Präfix versehen sind dc=. So serverfault.comkönnte es werden dc=serverfault,dc=com. Sie rootdnmüssen unter diesem Suffix stehen.

Sie müssen auch die Zeile ändern, die das Root-Passwort definiert. Sie können einen Klartextwert festlegen oder slappasswdeinen Hash erstellen. Sie müssen dann entweder den Klartextwert oder den Hashwert slappasswdin eine Zeile einfügen , die so aussieht:

rootpw myultrasecurepassword

Schemata

Es ist an dieser Stelle eine gute Idee, sich Gedanken über die Schemas zu machen, die Sie verwenden möchten. Ein Schema definiert die Attribute, die ein Objekt haben kann. Daher müssen Sie die Schemas einschließen, die die von Ihnen benötigten Attribute enthalten. Diese Schemas sind oben in enthalten slapd.conf, und die hier aufgeführten sind normalerweise die absoluten Grundschemas, 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, daher müssen Sie sie möglicherweise an Oracle Linux anpassen.

Über slapd.confvsslapd.d

OpenLDAP hat von der Offline-Konfiguration (erledigt in slapd.conf) zur Online-Konfiguration gewechselt und die Daten in einem speziellen cn=configBaum in gespeichert slapd.d. Das Ändern der ldifDateien in slapd.dist jedoch ein schmerzhafter Vorgang, sodass es viel einfacher ist, sie slapd.confwie oben beschrieben zu bearbeiten und dann in das neue slapd.dFormat zu konvertieren.

Entfernen Sie zuerst alles in slapd.d. Führen Sie als Nächstes den folgenden Befehl aus, und stellen Sie sicher, dass Sie die Pfade zu Oracle Linux anpassen:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Stellen Sie dann den Eigentümer rekursiv auf Ihren LDAP-Benutzer und die Gruppe in diesem Verzeichnis ein, und Sie sollten bereit sein, loszulegen. Dies muss bei jeder Bearbeitung durchgeführt werden slapd.conf- denken Sie daran, den OpenLDAP-Server zu stoppen, bevor Sie dies tun!

Anfangslauf

Bevor Sie das Verzeichnis tatsächlich verwenden können, müssen Sie den Basis-DN (und den Root-Benutzer) erstellen. Erstellen Sie eine .ldifDatei, die Zeilen ähnlich der folgenden enthält:

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 nur diese Informationen in das LDAP-Verzeichnis übertragen:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Ändern Sie offensichtlich den Root-DN und den ldif-Dateinamen so, dass sie mit dem übereinstimmen, was Sie haben.

Sie sollten jetzt ein funktionierendes LDAP-Verzeichnis eingerichtet und bereit zum Auffüllen haben!


Das Arch Linux-Wiki ist eine hervorragende Informationsquelle zu diesem Thema - siehe https://wiki.archlinux.org/index.php/OpenLDAP und https://wiki.archlinux.org/index.php/LDAP_Authentication, wenn Sie möchten mehr wissen.

Xenopathic
quelle
Das meiste davon wird bereits vom Paketmanager erledigt und die weitere Verwaltung der Konfiguration über slapd.confund slaptestwährend der Server gestoppt ist, übertrifft den Zweck der Online-Konfiguration.
Sven
2
Denn eine Erstkonfiguration slapd.conffunktioniert einwandfrei und ist sicherlich intuitiver als eine slapd.ddirekte Bearbeitung . Ich weiß nicht, wie viel des Verzeichnisses vom Paketmanager in Oracle Linux erledigt wird, aber wenn das OP nicht auf den Basis-DN zugreifen konnte, kann es nicht genug gewesen sein
Xenopathic
1
Die akzeptierte Antwort enthält die Informationen, die ich brauchte, aber die Informationen zum Erstellen der ursprünglichen Objekte waren auch nützlich
thecoop 10.04.14