SSSD-Handbuchseiten
sssd-sudo
5
Dateiformate und Konventionen
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.