So installierst du OpenLDAP Server unter AlmaLinux 9

OpenLDAP ist eine Softwareimplementierung des Lightweight Directory Access Protocol (LDAP). OpenLDAP ist eine freie und quelloffene Software mit einer BSD-ähnlichen Lizenz namens OpenLDAP Public License. Die kommandozeilengesteuerte LDAP-Software ist auf den meisten Linux-Distributionen wie CentOS, Ubuntu, Debian, SUSE und vielen anderen verfügbar.

OpenLDAP ist eine komplette Software-Suite für LDAP-Server, die SLAPD (eigenständiger LDAP-Daemon), SLURPD (eigenständiger LDAP-Update-Replikations-Daemon) sowie einige Dienstprogramme und Tools für die Verwaltung von LDAP-Servern umfasst. OpenLDAP ist ein sehr anpassungsfähiger LDAP-Server und unterstützt alle wichtigen Computerplattformen.

In diesem Tutorial zeigen wir dir, wie du OpenLDAP Server auf einem AlmaLinux 9 installierst, damit du problemlos loslegen kannst.

Vorraussetzungen

Um dieses Tutorial abzuschließen, musst du Folgendes mitbringen:

  • Einen AlmaLinux 9 Rechner – Diese Demo verwendet einen Server mit dem Hostnamen ldap und der IP-Adresse 192.168.10.50.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.

Einrichten des FQDN

Bevor du den OpenLDAP-Server installierst, musst du sicherstellen, dass der fqdn konfiguriert ist und auf die richtige IP-Adresse zeigt. Führe die folgenden Schritte aus, um fqdn auf deinem AlmaLinux Rechner einzurichten.

Führe den folgenden Befehl aus, um den fqdn deines AlmaLinux Rechners einzurichten. In diesem Fall wird der Server den fqdn ldap.hwdomain.local haben.

sudo hostnamectl set-hostname ldap.hwdomain.local

Öffne nun die Datei /etc/hosts mit dem folgenden Befehl des nano Editors.

sudo nano /etc/hosts

Füge die folgende Konfiguration ein und achte darauf, dass du die IP-Adresse, fqdn und den Hostnamen änderst.

192.168.10.50   ldap.hwdomain.local   ldap

Speichere die Datei und beende den Editor, wenn du fertig bist.

Führe abschließend den folgenden Befehl aus, um den fqdn deines Systems zu überprüfen und sicherzustellen, dass er auf die richtige lokale IP-Adresse zeigt.

sudo hostname -f
ping -c3 ldap.hwdomain.local

In diesem Fall zeigt der fqdn ldap.hwdomain.local auf die IP-Adresse 192.168.10.50.

fqdn einrichten

Installation von OpenLDAP Server

Das OpenLDAP-Serverpaket ist im EPEL-Repository verfügbar. Bevor du also den OpenLDAP-Server installierst, musst du das EPEL-Repository auf deinem AlmaLinux-Server installieren.

Der folgende Abschnitt zeigt dir, wie du das EPEL-Repository hinzufügst, den OpenLDAP-Server installierst und den OpenLDAP-Dienst verwaltest.

Zuerst fügst du das EPEL-Repository mit dem unten stehenden dnf-Befehl zu deinem AlmaLinux-Server hinzu.

sudo dnf install epel-release -y

epel repository installieren

Danach führst du den folgenden dnf-Befehl aus, um die OpenLDAP-Server- und Client-Pakete zu installieren.

sudo dnf install openldap-servers openldap-clients

Wenn du dazu aufgefordert wirst, gib zur Bestätigung y ein und drücke ENTER.

openldap Server installieren

Wenn du gefragt wirst, ob du den GPG-Schlüssel des EPEL-Repositorys hinzufügen möchtest, gibst du erneut y ein und drückst ENTER.

gpg-Schlüssel akzeptieren

Führe nun den folgenden systemctl-Befehl aus, um den OpenLDAP-Dienst slapd zu starten und zu aktivieren.

sudo systemctl start slapd
sudo systemctl enable slapd

Überprüfe den slapd-Dienst mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status slapd

Wenn er läuft, solltest du eine Ausgabe wie „active (running)“ erhalten.

openldap-Dienst starten

Schließlich musst du die LDAP- und LDAPS-Dienste in der Firewalld öffnen, um Client-Verbindungen zu ermöglichen.

Führe die folgenden firewall-cmd-Befehle aus, um die LDAP- und LDAPS-Dienste zur Firewalld hinzuzufügen. Lade dann die Firewalld neu, um die Änderungen zu übernehmen.

sudo firewall-cmd --add-service={ldap,ldaps} --permanent
sudo firewall-cmd --reload

Nun kannst du die Liste der Firewall-Regeln mit dem unten stehenden Befehl überprüfen.

sudo firewall-cmd --list-all

Wenn dies erfolgreich war, solltest du sowohl LDAP- als auch LDAPS-Dienste in der Liste der Firewalld-Dienste sehen.

firewalld einrichten

Grundlegende OpenLDAP-Server-Konfiguration

Nachdem du den OpenLDAP-Server installiert hast, musst du nun die OpenLDAP-Installation konfigurieren. Als erstes musst du einen Administrator-Benutzer einrichten und einige grundlegende Schemata für deine OpenLDAP-Serverinstallation importieren.

Führe den folgenden Befehl aus, um das Hash-Passwort für deinen OpenLDAP-Server zu generieren. Gib dein Passwort ein und wiederhole es, dann kopiere das generierte Hash-Passwort.

slappasswd

Erstelle eine neue Datei chrootpw.ldif, indem du den folgenden Befehl im nano-Editor ausführst.

nano chrootpw.ldif

Füge die folgende Konfiguration hinzu und ersetze den Wert für den Parameter olcRootPW durch dein Hash-Passwort. Dadurch wird das Passwort für deinen OpenLDAP-Server geändert.

# chrootpw.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}yK9Dk+Kz9S9CLu3Y+ZtJVAYF+MPIRl1X

Speichere und beende die Datei, wenn du fertig bist.

Führe nun den Befehl ldapadd aus, um die Konfiguration auf den OpenLDAP-Server anzuwenden.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif

Wenn du erfolgreich warst, solltest du die folgende Ausgabe erhalten:

einrichtung administrator openldap server

Zuletzt führst du den folgenden Befehl aus, um deinem OpenLDAP-Server einige grundlegende Schemas hinzuzufügen.

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif 
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

Dadurch werden neue Einträge wie nis, cosine und inetorgperson zu deinem OpenLDAP-Server hinzugefügt.

Basisschemata importieren openldap

Einrichten von Domäne und Basisdomäne

Nachdem das Administratorkennwort für den OpenLDAP-Server konfiguriert ist, musst du als Nächstes den Domänennamen für deinen OpenLDAP-Server einrichten und einige Basisdomänennamen für die Benutzer erstellen.

Führe die folgenden Schritte aus, um den Domänennamen und die Basisdomäne per LDIF-Datei einzurichten.

Domänenname konfigurieren

Erstelle eine neue LDIF-Datei chdomain.ldif mit dem folgenden Befehl des nano Editors.

nano chdomain.ldif

Füge die folgende Konfiguration hinzu und achte darauf, dass du den Domänennamen dc=hwdomain,dc=local durch den Domänennamen deines OpenLDAP-Servers ersetzt. Ersetze außerdem den Parameter olcRootPW durch dein Hash-Passwort.

Dadurch wird der Standarddomänenname deines OpenLDAP-Servers durch die neue Domäne ersetzt.

# chdomain.ldif
# replace to your own domain name for [dc=***,dc=***] section
# specify the password generated above for [olcRootPW] section
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=Manager,dc=hwdomain,dc=local" read by * none

dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=hwdomain,dc=local

dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=hwdomain,dc=local

dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}yK9Dk+Kz9S9CLu3Y+ZtJVAYF+MPIRl1X

dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=Manager,dc=hwdomain,dc=local" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=hwdomain,dc=local" write by * read

Speichere die Datei und beende den Editor, wenn du fertig bist.

Als Nächstes führst du den Befehl ldapmodify aus, um die neuen Konfigurationen auf den OpenLDAP-Server anzuwenden.

sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif

Standard-Domänennamen ändern

Sobald die Änderungen übernommen wurden, führe den Befehl ldapsearch aus, um deine Konfiguration zu überprüfen. Wenn du erfolgreich warst, solltest du sehen, dass namingContexts den Domänennamen deines OpenLDAP-Servers enthält. In diesem Fall lautet der Domänenname ldap.hwdomain.local.

sudo ldapsearch -H ldap:// -x -s base -b "" -LLL "namingContexts"

Domänenname überprüfen

Konfigurieren der Basisdomäne

Erstelle eine neue LDIF-Datei basedomain.ldif mit dem nano-Editor.

nano basedomain.ldif

Füge die folgende Konfiguration in die Datei ein. Damit erstellst du drei verschiedene Objekte oragnizationalUnit Manager, People und Group.

# basedomain.ldif
# replace to your own domain name for [dc=***,dc=***] section
dn: dc=hwdomain,dc=local
objectClass: top
objectClass: dcObject
objectclass: organization
o: Hwdomain Local
dc: hwdomain

dn: cn=Manager,dc=hwdomain,dc=local
objectClass: organizationalRole
cn: Manager
description: Directory Manager

dn: ou=People,dc=hwdomain,dc=local
objectClass: organizationalUnit
ou: People

dn: ou=Group,dc=hwdomain,dc=local
objectClass: organizationalUnit
ou: Group

Speichere die Datei und schließe den Editor, wenn du fertig bist.

Führe nun den unten stehenden Befehl ldapadd aus, um die neue Basisdomäne zu deinem OpenLDAP-Server hinzuzufügen.

sudo ldapadd -x -D cn=Manager,dc=hwdomain,dc=local -W -f basedomain.ldif

Gib das OpenLDAP-Passwort ein, wenn du dazu aufgefordert wirst. Wenn du erfolgreich warst, solltest du eine Ausgabe wie diese erhalten:

Basisdomäne hinzufügen

Abschließend kannst du die Liste der ou auf deinem OpenLDAP-Server mit dem folgenden Befehl überprüfen.

sudo ldapsearch -x -b "dc=hwdomain,dc=local" ou

Wenn die Konfiguration erfolgreich ist, solltest du drei verschiedene ou Manager, People und Group sehen.

Basisdomäne überprüfen

Damit hast du die Installation des OpenLDAP-Servers auf deinem AlmaLinux-Rechner abgeschlossen. Im nächsten Schritt lernst du, wie du einen OpenLDAP-Benutzer über eine LDIF-Datei anlegst.

Hinzufügen eines neuen Benutzers auf dem OpenLDAP-Server

Um neue Benutzer manuell im OpenLDAP-Server anzulegen, kannst du den Befehl slappasswd verwenden, um ein Hash-Passwort zu erzeugen und eine neue LDIF-Datei für deinen neuen Benutzer zu erstellen. In diesem Schritt erfährst du, wie du das machst.

Um einen neuen Benutzer anzulegen, musst du zunächst den Passwort-Hash mit dem folgenden slappasswd-Befehl generieren.

slappasswd

Gib dein Passwort ein und kopiere den generierten Hash.

Erstelle nun eine neue Datei newuser.ldif mit dem unten stehenden Befehl nano editor.

nano newuser.ldif

Füge die folgende Konfiguration ein, um einen neuen OpenLDAP-Benutzer und eine neue Gruppe zu erstellen. Achte auch darauf, dass du die Details des Domänennamens, des neuen Benutzers, der Gruppe gid und uid und auch den Passwort-Hash änderst.

# newuser.ldif
# Change detail username and path home directory and default domain name
dn: uid=alma,ou=People,dc=hwdomain,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: alma
sn: temp
userPassword: {SSHA}l/lZ6zZSGgGP1s7pezz6faYX86Tx3Fv/
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/alma
shadowLastChange: 0
shadowMax: 0
shadowWarning: 0

dn: cn=alma,ou=Group,dc=hwdomain,dc=local
objectClass: posixGroup
cn: alma
gidNumber: 2000
memberUid: alma

Speichere die Datei und schließe den Editor, wenn du fertig bist.

Als Nächstes führst du den Befehl ldapadd aus, um einen neuen OpenLDAP-Benutzer und eine neue Gruppe hinzuzufügen. Gib dein OpenLDAP-Passwort ein, wenn du dazu aufgefordert wirst, und bestätige mit ENTER.

sudo ldapadd -x -D cn=Manager,dc=hwdomain,dc=local -W -f newuser.ldif

Benutzer und Gruppe hinzufügen

Sobald der neue Benutzer und die neue Gruppe hinzugefügt sind, führe den Befehl ldapsearch aus, um eine Liste der verfügbaren Benutzer und Gruppen auf deinem OpenLDAP-Server zu erhalten.

sudo ldapsearch -x -b "ou=People,dc=hwdomain,dc=local"
sudo ldapsearch -x -b "ou=Group,dc=hwdomain,dc=local"

Wenn deine Konfiguration erfolgreich war, solltest du die auf dem OpenLDAP-Server verfügbaren Benutzer- und Gruppenalmanachs sehen.

Nachfolgend siehst du die auf dem OpenLDAP-Server verfügbaren Benutzerdaten.

Benutzer verifizieren

Nachfolgend siehst du die auf dem OpenLDAP-Server verfügbaren Gruppenalben.

Benutzer und Gruppe verifizieren

Fazit

Gut gemacht! Du hast alle Schritte befolgt und den OpenLDAP Server auf deinem AlmaLinux 9 Rechner installiert. Jetzt kannst du ihn nutzen und in deine Anwendungen integrieren. Außerdem wird empfohlen, einen sicheren OpenLDAP-Server mit SSL/TLS einzurichten und ein Web-Frontend für deinen OpenLDAP-Server über phpOpenLDAP oder ähnliches zu installieren.

Das könnte dich auch interessieren …