SSSD-SUDO(5)

NAME
sssd-sudo - Sudo mit dem SSSD-Backend konfigurieren

BESCHREIBUNG

Diese Handbuchseite beschreibt, wie sudo(8) konfiguriert wird, damit es zusammen mit sssd(8) funktioniert und wie SSSD Sudo-Regeln zwischenspeichert.

SUDO SO KONFIGURIEREN, DASS ES MIT SSSD ZUSAMMENARBEITET

Um SSSD als eine Quelle von Sudo-Regeln zu aktivieren, fügen Sie dem Eintrag sudoers in nsswitch.conf(5) sss hinzu.

Um zum Beispiel Sudo so zu konfigurieren, dass es zuerst die Regeln in der Standarddatei sudoers(5) nachschlägt (diese sollten Regeln umfassen, die für lokale Benutzer gelten) und dann die in SSSD, sollte die Datei »nsswitch.conf« die folgende Zeile enthalten:

    sudoers: files sss

Weitere Informationen über die Konfiguration der Suchreihenfolge der »sudoers« aus der Datei »nsswitch.conf« sowie das LDAP-Schema, das zum Speichern von Sudo-Regeln im Verzeichnis benutzt wird, können Sie unter sudoers.ldap(5) finden.

Hinweis: Um Netzgruppen oder IPA-Hostgruppen in sudo-Regeln verwenden zu können, muss nisdomainname(1) korrekt auf den entsprechenden NIS-Domainnamen gesetzt werden. Dieser entspricht dem IPA-Domainnamen, wenn Hostgruppen verwendet werden.

SSSD ZUM ABRUFEN VON SUDO-REGELN KONFIGURIEREN

Alle auf der SSSD-Seite erforderliche Konfiguration ist die Erweiterung der Liste der Dienste mit "sudo" im Abschnitt [sssd] der Handbuchseite zu sssd.conf(5). Um LDAP-Suchvorgänge zu beschleunigen, können Sie auch die Suchbasis für sudo-Regeln mit der Option ldap_sudo_search_base festlegen.

Das folgende Beispiel zeigt, wie SSSD konfiguriert wird, damit es die Sudo-Regeln von einem LDAP-Server herunterlädt.

    [sssd]
    config_file_version = 2
    services = nss, pam, sudo
    domains = EXAMPLE
    [domain/EXAMPLE]
    id_provider = ldap
    sudo_provider = ldap
    ldap_uri = ldap://example.com
    ldap_sudo_search_base = ou=sudoers,dc=example,dc=com

It's important to note that on platforms where systemd is supported there's no need to add the "sudo" provider to the list of services, as it became optional. However, sssd-sudo.socket must be enabled instead.

When SSSD is configured to use IPA as the ID provider, the sudo provider is automatically enabled. The sudo search base is configured to use the IPA native LDAP tree (cn=sudo,$SUFFIX). If any other search base is defined in sssd.conf, this value will be used instead. The compat tree (ou=sudoers,$SUFFIX) is no longer required for IPA sudo functionality.

DER ZWISCHENSPEICHERMECHANISMUS FüR SUDO-REGELN

Die größte Herausforderung bei der Entwicklung von Sudo-Unterstützung in SSSD war es, sicherzustellen, dass beim Ausführen von Sudo mit SSSD die Datenquelle dieselbe Benutzererfahrung bereitstellt und so schnell wie Sudo ist, aber weiterhin so viele aktuelle Regelsätze wie möglich bereitstellt. Um diesen Anforderungen zu genügen, verwendet SSSD drei Arten von Aktualisierungen. Sie werden als vollständiges Aktualisieren, kluges Aktualisieren und Regelaktualisierung bezeichnet.

Das kluge Aktualisieren lädt periodisch Regeln herunter, die neu sind oder seit der letzten Aktualisierung geändert wurden. Das Hauptziel hierbei ist es, die Datenbank anwachsen zu lassen, indem nur kleine Erweiterungen abgerufen werden, die keinen großen Netzwerkverkehr erzeugen.

Das vollständige Aktualisieren löscht einfach alle im Zwischenspeicher abgelegten Regeln und ersetzt sie durch die auf dem Server gespeicherten Regeln. Dies wird benutzt, um den Zwischenspeicher dadurch konsistent zu halten, dass jede von Server gelöschte Regel entfernt wird. Ein vollständiges Aktualisieren kann jedoch eine hohe Last erzeugen und sollte daher nur gelegentlich abhängig von der Größe und Stabilität der Sudo-Regeln ausgeführt werden.

Die Regelaktualisierung stellt sicher, dass dem Benutzer nicht mehr Rechte als definiert gewährt werden. Es wird jedesmal ausgelöst, wenn der Benutzer Sudo ausführt. Regelaktualisierung wird alle Regeln suchen, die für diesen Benutzer gelten, ihren Ablaufzeitpunkt prüfen und sie erneut herunterladen, falls sie erloschen sind. Im Fall, dass irgendwelche der Regeln auf dem Server fehlen, wird SSSD außer der Reihe ein vollständiges Aktualisieren durchführen, da möglicherweise weitere Regeln (die für andere Benutzer gelten) gelöscht wurden.

SSSD wird, falls aktiviert, nur Regeln speichern, die auf diese Maschine angewandt werden können. Das bedeutet, Regeln, die einen der folgenden Werte im Attribut sudoHost enthalten:

    • Schlüsselwort ALL

    • Platzhalter

    • Netzgruppe (in der Form »+Netzgruppe«)

    • Rechnername oder voll qualifizierter Domain-Namen dieser Maschine

    • eine der IP-Adressen dieser Maschine

    • eine der IP-Adressen des Netzwerks (in der Form »Adresse/Maske«)

Es gibt viele Konfigurationsoptionen, die benutzt werden können, um das Verhalten anzupassen. Bitte lesen Sie »ldap_sudo_*« in sssd-ldap(5) und "sudo_*" in sssd.conf(5).

TUNING THE PERFORMANCE

SSSD uses different kinds of mechanisms with more or less complex LDAP filters to keep the cached sudo rules up to date. The default configuration is set to values that should satisfy most of our users, but the following paragraphs contain few tips on how to fine- tune the configuration to your requirements.

1. Index LDAP attributes. Make sure that following LDAP attributes are indexed: objectClass, cn, entryUSN or modifyTimestamp.

2. Set ldap_sudo_search_base. Set the search base to the container that holds the sudo rules to limit the scope of the lookup.

3. Set full and smart refresh interval. If your sudo rules do not change often and you do not require quick update of cached rules on your clients, you may consider increasing the ldap_sudo_full_refresh_interval and ldap_sudo_smart_refresh_interval. You may also consider disabling the smart refresh by setting ldap_sudo_smart_refresh_interval = 0.

4. If you have large number of clients, you may consider increasing the value of ldap_sudo_random_offset to distribute the load on the server better.

SIEHE AUCH

sssd(8), sssd.conf(5), sssd-ldap(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-files(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)

AUTHORS

The SSSD upstream - https://github.com/SSSD/sssd/