Hinzufügen eines Rocky Linux-Systems zu einem OpenLDAP-Server
Nachdem du die OpenLDAP-Installation abgeschlossen hast, musst du auch einen Client-Rechner hinzufügen, der sich gegenüber deinem OpenLDAP-Server authentifizieren kann.
Es gibt viele Möglichkeiten, einen Client-Rechner zum OpenLDAP-Server hinzuzufügen, eine davon ist die Verwendung des SSSD-Dienstes. Der SSSD-Dienst ist in den Repositories fast aller Linux-Distributionen verfügbar (mit einem anderen Namen des Pakets), was die Verwaltung vereinfacht und die Bereitstellung von OpenLDAP-Client-Rechnern beschleunigt.
In diesem Tutorial erfährst du, wie du das Rocky-Linux-System mithilfe des SSSD-Dienstes einrichtest und zum OpenLDAP-Server hinzufügst.
Voraussetzungen
- Ein Server mit OpenLDAP ist installiert und konfiguriert.
- Ein Rocky Linux-Client. In diesem Beispiel wird Rocky Linux 8.5 verwendet.
- Ein Nicht-Root-Benutzer mit den konfigurierten Root-Rechten.
Überprüfen der OpenLDAP-Benutzer
Als Erstes überprüfst du die Liste der verfügbaren Benutzer auf dem OpenLDAP-Server. Führe daher den folgenden Befehl auf deinem OpenLDAP-Server aus.
In diesem Beispiel läuft der OpenLDAP-Server unter dem Domainnamen „ldap.mydomain.io“.
Überprüfe die Liste der verfügbaren Benutzer im OpenLDAP mit dem unten stehenden Befehl „ldapsearch“.
sudo ldapsearch -x -b "ou=people,dc=mydomain,dc=io"
Jetzt solltest du eine Liste der Benutzer auf dem OpenLDAP-Server sehen. Im folgenden Screenshot siehst du einen OpenLDAP-Benutzer namens „john“, der für die Tests verwendet wird.
Einrichten der Hosts-Datei und des FQDN
Bevor du die Pakete installierst, musst du den FQDN (Fully Qualified Domain Name) des Rocky-Linux-Rechners und die Datei „/etc/hosts“ einrichten, um die Domäne des OpenLDAP-Servers zu definieren.
In diesem Beispiel läuft „ldap.mydomain.io“ unter der IP-Adresse„192.168.10.50„. Und der Rocky-Linux-Client läuft mit der IP-Adresse„192.168.10.80„.
Führe den Befehl„hostnamectl“ aus, um den FQDN von Rocky Linux auf„RockyLinux.mydomain.io“ einzurichten.
sudo hostnamectl set-hostname RockyLinux.mydomain.io
Bearbeite nun die Konfiguration„/etc/hosts“ mit dem nano-Editor.
sudo nano /etc/hosts
Füge den Domänennamen und die IP-Adresse des OpenLDAP-Servers hinzu, gefolgt von den Angaben zum Rocky Linux-Client (siehe unten).
192.168.10.50 ldap.mydomain.io ldap 192.168.10.80 RockyLinux.mydomain.io RockyLinux
Speichere und schließe die Datei, wenn du fertig bist.
Als Nächstes führst du den folgenden Befehl aus, um den FQDN des Rocky Linux-Systems zu überprüfen und die Verbindung zwischen dem Rocky Linux-System und dem OpenLDAP-Server zu verifizieren.
sudo hostname -f sudo ping -c3 ldap.mydomain.io
Du solltest eine Ausgabe wie im folgenden Screenshot erhalten. Der FQDN des Rocky Linux-Systems lautet „RockyLinux.mydomain.io“ und die Verbindung zum OpenLDAP-Server ist erfolgreich.
Installation der OpenLDAP-Client- und SSSD-Pakete
Nachdem du den FQDN und die Hosts-Datei auf dem Rocky Linux-System konfiguriert hast. Jetzt musst du den OpenLDAP-Client und das SSSD auf dem Rocky-Linux-Rechner installieren.
Der OpenLDAP-Client muss auf dem Client-Rechner installiert werden, und der SSSD-Dienst übernimmt die gesamte Authentifizierung gegenüber dem OpenLDAP-Server.
Der SSSD oder System Security Service Daemon wird oft verwendet, um Linux-Rechner beim IPA Server, Active Directory und der LDAP-Domäne anzumelden.
Führe den unten stehenden„dnf„-Befehl aus, um das OpenLDAP-Client-Paket, das SSSD-Service-Paket mit zusätzlicher LDAP-Unterstützung und das oddjob-mkhomedir-Paket zur automatischen Erstellung des Home-Verzeichnisses für OpenLDAP-Nutzer zu installieren.
sudo dnf -y install openldap-clients sssd sssd-ldap oddjob-mkhomedir
Warte, bis die Installation aller Pakete abgeschlossen ist.
Ändern des Authentifizierungsprofils auf SSSD
Nachdem du die OpenLDAP-Client-Pakete und die SSSD-Pakete installiert hast, musst du nun die Systemauthentifizierung und die Identitätsquelle auf den SSSD-Dienst umstellen.
Dazu kannst du den Befehl„authselect“ verwenden, der es Administratoren erleichtert, die Standardauthentifizierungs- und Identitätsquelle für RHEL-basierte Systeme, einschließlich Rocky Linux, zu verwalten.
Führe den unten stehenden Befehl„authselect“ aus, um die verfügbaren Authentifizierungs- und Identitätsprofile aufzulisten.
authselect list
Du solltest mehrere Authentifizierungs- und Identitätsquellen sehen, z. B. NIS, SSSD und Winbind.
Ändere das Standard-Authentifizierungs- und Identitätsprofil mit dem unten stehenden Befehl „authselect“ in„sssd„. Außerdem wird die Option„with-mkhomedir“ benötigt, um automatisch das Heimatverzeichnis für alle Benutzer zu erstellen.
authselect select sssd with-mkhomedir --force
Jetzt solltest du eine Ausgabe wie im Screenshot unten erhalten. Das Authentifizierungsprofil„sssd“ ist als Standardprofil auf deinem Rocky Linux Rechner ausgewählt.
Außerdem musst du den Dienst„oddjobd“ mit dem unten stehenden Befehl starten und aktivieren.
sudo systemctl enable --now oddjobd.service
Überprüfe nun den Dienst„oddjobd„, um sicherzugehen, dass er funktioniert und läuft.
sudo systemctl status oddjobd.service
Du solltest eine Ausgabe wie im folgenden Screenshot sehen.
OpenLDAP-Client und SSSD-Dienste konfigurieren
Nun ist es an der Zeit, den OpenLDAP-Client zu konfigurieren und den SSSD-Dienst einzurichten.
Bearbeite die OpenLDAP-Client-Konfiguration„/etc/openldap/ldap.conf“ mit dem Editor nano.
sudo nano /etc/openldap/ldap.conf
Lege den OpenLDAP-Server und den Namen der Basis-Suchdomäne fest. Achte darauf, dass du den Domänennamen mit deiner Domäne änderst.
URI ldap://ldap.mydomain.io/ BASE dc=mydomain,dc=io
Speichere und schließe die Datei, wenn du fertig bist.
Als nächstes erstellst du mit dem nano-Editor eine neue SSSD-Dienstkonfiguration„/etc/sssd/sssd.conf“.
sudo nano /etc/sssd/sssd.conf
Kopiere die folgende Konfiguration und achte darauf, dass du „ldap_uri“ und „ldap_search_base“ mit deinem OpenLDAP-Server abänderst. Füge die Konfiguration dann ein.
[domain/default] id_provider = ldap autofs_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldap://ldap.mydomain.io/ ldap_search_base = dc=mydomain,dc=io ldap_id_use_start_tls = True ldap_tls_cacertdir = /etc/openldap/certs cache_credentials = True ldap_tls_reqcert = allow
[sssd]
services = nss, pam, autofs
domains = default
[nss]
homedir_substring = /home
Speichere und schließe die Datei.
Ändere nun die Berechtigung der SSSD-Dienstkonfiguration auf„0600„. Dadurch wird die Konfiguration gesichert und ist nur für den Eigentümer zugänglich.
sudo chmod 0600 /etc/sssd/sssd.conf
Starte den SSSD-Dienst neu und überprüfe ihn mit dem Befehl„systemctl„, um die neue Konfiguration anzuwenden.
sudo systemctl restart sssd sudo systemctl status sssd
Du solltest sehen, dass der aktuelle Status des SSSD-Dienstes „active (running)“ ist.
Testen von
Jetzt hast du den Rocky-Linux-Rechner mit Hilfe des SSSD-Dienstes zum OpenLDAP-Server hinzugefügt. Jetzt wollen wir unsere Konfiguration überprüfen.
In diesem Beispiel testen wir die Installation, indem wir uns mit dem OpenLDAP-Benutzer„john“ auf dem Rocky-Linux-Client-Rechner anmelden.
Im folgenden Beispiel sind wir mit dem Benutzer „john“ auf dem Rocky Linux-Clientcomputer angemeldet. Du kannst sehen, dass die definierte uid- und gid-Nummer mit dem Benutzer „john“ auf dem OpenLDAP-Server übereinstimmt.
Du kannst auch versuchen, dich über die SSH-Verbindung am Rocky Linux-Client-Rechner anzumelden, dabei aber den OpenLDAP-Benutzer zu verwenden.
Unten ist der Benutzer„john“ erfolgreich über eine SSH-Verbindung mit dem Rocky Linux Rechner verbunden.
ssh john@192.168.10.80
Fazit
Herzlichen Glückwunsch! Du hast den Rocky Linux-Client-Rechner nun erfolgreich über den SSSD-Dienst zum OpenLDAP-Server hinzugefügt. Diese Anleitung kann auch auf allgemeine RHEL-basierte Distributionen wie CentOS, AlmaLinux und Fedora angewendet werden.