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.
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
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.
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.
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.
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.
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:
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.
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
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"
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:
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.
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
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.
Nachfolgend siehst du die auf dem OpenLDAP-Server verfügbaren Gruppenalben.
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.