Der System Security Services Daemon (SSSD) ermöglicht es Verzeichnisdienste und diverse Authentifizierungsmöglichkeiten für Linux/Unix-Systeme erreichbar zu machen. Neben einfacher Benutzerverwaltung mit Authentifizierung per Benutzername und Passwort können auch SSH-Key-Verfahren eingesetzt werden. Weiter können die Berechtigungen direkt im zentralen Verzeichnis verwaltet werden. Wie der SSSD konfiguriert wird, um dieses zu ermöglichen, soll dieser Artikel darstellen.
Überblick
Im ersten Teil dieser Reihe wurden bereits die grundlegenden Informationen und Möglichkeiten aufgezeigt, in diesem Artikel wird [HD1] die Konfiguration genauer betrachtet.
Der SSSD Daemon startet abhängig von der Konfiguration eine Reihe von Services (sssd_Daemons) und kommuniziert so mit SSHD, AutoFS und LDAP-Daemons. Die aktivierten Services werden als Kindprozesse des SSSD Daemons gestartet:
Grundlegende Konfiguration
Die Konfiguration des SSSD erfolgt hauptsächlich über die Datei /etc/sssd/sssd.conf. Die Datei ist in drei Abschnitte unterteilt:
- [sssd]
Hier werden globale Standardwerte und die eingesetzten Module definiert - [<service_name>]
Unter dem jeweiligen Service werden service-spezifische Konfigurationen vorgenommen - [<domain_type>/<domain_name>]
Konfigurationsmöglichkeiten für jeden definierten Verzeichnisdienst
Die Parameter sind ausführlich in der Man-Page beschrieben.
Beispiel: Anbindung an LDAP-Verzeichnis mit Authentifizierung via SSH-Key
In diesem Beispiel soll ein SSSD Daemon so konfiguriert werden, dass Benutzer aus einem bestehenden LDAP-Verzeichnis abgerufen werden und diese sich per SSH-Key authentifizieren können. Die Public Keys können anschließend sowohl im LDAP-Verzeichnis als auch lokal auf dem Server abgelegt werden. Bevor die Schlüssel in das LDAP-Verzeichnis abgelegt werden können, muss das Schema openssh-lpk-openldap.ldif installiert werden.
Installation von SSSD
Die Installation von SSSD wird hier auf einem RHEL 8 System durchgeführt, bei anderen Distributionen kann die Installation abweichen.
Mit dem Paketmanager dnf wird der SSSD mit Abhängigkeiten installiert:
# dnf -y install sssd sssd-ldap oddjob oddjob-mkhomedir authselect-compat
Anschließend wird der SSSD als Authentifizierungsprovider festgelegt:
# authselect select sssd with-mkhomedir
Anbindung an LDAP
Zur Anbindung an LDAP wird die Domain unter dem Abschnitt [sssd] hinzugefügt und ein neuer Abschnitt [domain/ldap_ordix] angelegt. Die Konfigurationsdatei sieht dann folgendermaßen aus:
Konfigurationen des SSH-Daemons
Beim SSH-Daemon muss die SSH-Key Methode aktiviert werden und der sssd als Provider festgelegt werden. Dazu werden folgende Attribute angepasst:
Abschluss der Konfiguration
Abschließend müssen der SSSD und SSH-Daemon neugestartet werden:
# systemctl restart sssd sshd
Zum Testen kann nun ein User aus dem LDAP abgefragt und eine neue SSH-Verbindung aufgebaut werden:
Beispielhafter OpenLDAP-Eintrag
Fazit
Die Konfiguration des SSSD ist übersichtlich gehalten, durch die optionalen Module können diverse Funktionen, wie beispielsweise die zentrale Verwaltung von Public-Keys verwendet werden. Bei vorhandenem LDAP-Verzeichnis können so Linux/Unix-Systeme ohne viel Aufwand angebunden und verwendet werden.
Im nächsten Teil der Serie werden die Konfigurationsmöglichkeiten im Hinblick auf die Verwaltung von SUDO-Berechtigungen ausführlicher beschrieben.
Interesse geweckt?
Wenn Sie Interesse haben mehr über Linux, die Systemadministration und die Konfiguration von SSSD zu erfahren, dann sprechen Sie uns an oder besuchen Sie einen unserer Kurse aus unserem Seminarshop:
Zu unseren Seminaren