Diese Handbuchseite beschreibt die Konfiguration des Authentifizierungs-Backends Kerberos 5 für sssd(8). Eine ausführliche Syntax-Referenz finden Sie im Abschnitt »DATEIFORMAT« der Handbuchseite sssd.conf(5).
Das Authentifizierungs-Backend Kerberos 5 enthält Authentifizierungs- und Chpass-Anbieter. Es muss mit einem Identitätsanbieter verbunden werden, damit es sauber läuft (zum Beispiel »id_provider = ldap«). Einige vom Kerberos-5-Authentifizierungs-Backend benötigten Informationen wie der »Kerberos Principal Name« (UPN) des Benutzers müssen durch den Identitätsanbieter bereitgestellt werden. Die Konfiguration des Identitätsanbieters sollte einen Eintrag haben, der den UPN angibt. Einzelheiten, wie dies konfiguriert wird, finden Sie in der Handbuchseite des entsprechenden Identitätsanbieters.
This backend also provides access control based on the .k5login file in the home directory of the user. See k5login(5) for more details. Please note that an empty .k5login file will deny all access to this user. To activate this feature, use 'access_provider = krb5' in your SSSD configuration.
Im Fall, dass UPN nicht im Identitäts-Backend verfügbar ist, wird sssd mittels des Formats Benutzername@Krb5_Realm einen UPN konstruieren.
Falls das Authentifizierungsmodul Krb5 in einer SSSD-Domain benutzt wird, müssen die folgenden Optionen verwendet werden. Einzelheiten über die Konfiguration einer SSSD-Domain finden Sie im Abschnitt »DOMAIN-ABSCHNITTE« der Handbuchseite sssd.conf(5).
krb5_server, krb5_backup_server (Zeichenkette)
Wenn die Dienstsuche für Schlüsselverwaltungszentralen- (KDC) oder Kpasswd-Server benutzt wird, durchsucht SSSD zuerst die DNS-Einträge, die_udp als Protokoll angeben. Falls keine gefunden werden, weicht es auf _tcp aus.
Diese Option hieß in früheren Veröffentlichungen von SSSD »krb5_kdcip«. Obwohl der alte Name einstweilen noch in Erinnerung ist, wird Anwendern geraten, ihre Konfigurationsdateien auf die Verwendung von »krb5_server« zu migrieren.
krb5_realm (Zeichenkette)
krb5_kpasswd, krb5_backup_kpasswd (Zeichenkette)
Weitere Informationen über Ausfallsicherung und Redundanz finden Sie im Abschnitt »AUSFALLSICHERUNG«. HINWEIS: Selbst wenn es keine weiteren »kpasswd«-Server mehr auszuprobieren gibt, wird das Backend nicht offline gehen, da eine Authentifizierung gegen die Schlüsselverwaltungszentrale (KDC) immer noch möglich ist.
Voreinstellung: KDC benutzen
krb5_ccachedir (Zeichenkette)
Voreinstellung: /tmp
krb5_ccname_template (Zeichenkette)
%u
%U
%p
%r
%h
%d
%P
%%
Falls die Vorlage mit »XXXXXX« endet, wird mkstemp(3) verwendet, um auf sichere Weise einen eindeutigen Dateinamen zu erzeugen.
Wenn der KEYRING-Typ verwendet wird, ist "KEYRING:persistent:%U" der einzige unterstützte Mechanismus. Hierfür wird der Schlüsselbund des Linux-Kernels zum Speichern der Anmeldedaten getrennt nach Benutzer-IDs verwendet. Dies wird auch empfohlen, da es die sicherste und vorausberechenbarste Methode ist.
Der Vorgabewert für den Anmeldedaten-Zwischenspeicher wird aus dem im Abschnitt [libdefaults] der Datei krb5.conf enthaltenen Profil der systemweiten Konfiguration bezogen. Der Name der Option ist default_ccache_name. Im Abschnitt PARAMETER EXPANSION der Handbuchseite zu krb5.conf(5) finden Sie zusätzliche Informationen zu dem in krb5.conf definierten Format.
NOTE: Please be aware that libkrb5 ccache expansion template from krb5.conf(5) uses different expansion sequences than SSSD.
Voreinstellung: (aus libkrb5)
krb5_auth_timeout (Ganzzahl)
Voreinstellung: 6
krb5_validate (Boolesch)
Voreinstellung: »false«
krb5_keytab (Zeichenkette)
Voreinstellung: /etc/krb5.keytab
krb5_store_password_if_offline (Boolesch)
HINWEIS: Diese Funktionalität ist nur auf Linux verfügbar. Passwörter, die auf diese Weise gespeichert wurden, werden im Klartext im Schlüsselbund des Kernels aufbewahrt. Darauf kann unter Umständen (mit Mühe) durch den Benutzer Root zugegriffen werden.
Voreinstellung: »false«
krb5_renewable_lifetime (Zeichenkette)
s für Sekunden
m für Minuten
h für Stunden
d für Tage
Falls keine Einheit angegeben ist, wird s angenommen.
HINWEIS: Es ist nicht möglich, Einheiten zu mixen. Um die erneuerbare Lebensdauer auf eineinhalb Stunden zu setzen, verwenden Sie »90m« statt »1h30m«.
Voreinstellung: nicht gesetzt, d.h. das TGT ist nicht erneuerbar.
krb5_lifetime (Zeichenkette)
s für Sekunden
m für Minuten
h für Stunden
d für Tage
Falls keine Einheit angegeben ist, wird s angenommen.
HINWEIS: Es ist nicht möglich, Einheiten zu mixen. Um die Lebensdauer auf eineinhalb Stunden zu setzen, verwenden Sie »90m« statt »1h30m«.
Voreinstellung: nicht gesetzt, d.h. die Standardlebenszeit des Tickets auf der Schlüsselverwaltungszentrale (KDC)
krb5_renew_interval (Zeichenkette)
s für Sekunden
m für Minuten
h für Stunden
d für Tage
Falls keine Einheit angegeben ist, wird s angenommen.
HINWEIS: Es ist nicht möglich, Einheiten zu mixen. Um die erneuerbare Lebensdauer auf eineinhalb Stunden zu setzen, verwenden Sie »90m« statt »1h30m«.
Falls diese Option nicht oder auf 0 gesetzt ist, wird die automatische Erneuerung deaktiviert.
Voreinstellung: nicht gesetzt
krb5_use_fast (Zeichenkette)
never: FAST wird nie benutzt. Dies ist so, als ob diese Einstellung gar nicht gemacht würde.
try: Es wird versucht, FAST zu benutzen. Falls der Server kein FAST unterstützt, fährt die Authentifizierung ohne fort.
demand: Fragt nach, ob FAST benutzt werden soll. Die Authentifizierung schlägt fehl, falls der Server kein FAST erfordert.
Voreinstellung: nicht gesetzt, d.h. FAST wird nicht benutzt
HINWEIS: Zur Benutzung von FAST ist eine Keytab erforderlich.
HINWEIS: SSSD unterstützt FAST nur mit MIT-Kerberos-Version 1.8 und neuer. Falls SSSD mit einer älteren Version von MIT-Kerberos benutzt wird, ist die Verwendung dieser Option ein Konfigurationsfehler.
krb5_fast_principal (Zeichenkette)
krb5_canonicalize (Boolesch)
Voreinstellung: »false«
krb5_use_kdcinfo (Boolesch)
Weitere Informationen über die Locator-Erweiterung finden Sie auf der Handbuchseite sssd_krb5_locator_plugin(8).
Voreinstellung: »true«
krb5_kdcinfo_lookahead (string)
The krb5_kdcinfo_lookahead option contains two numbers separated by a colon. The first number represents number of primary servers used and the second number specifies the number of backup servers.
For example 10:0 means that up to 10 primary servers will be handed to sssd_krb5_locator_plugin(8) but no backup servers.
Default: 3:1
krb5_use_enterprise_principal (Boolesch)
Voreinstellung: falsch (AD-Anbieter: wahr)
The IPA provider will set to option to 'true' if it detects that the server is capable of handling enterprise principals and the option is not set explicitly in the config file.
krb5_use_subdomain_realm (boolean)
Voreinstellung: »false«
krb5_map_user (string)
Beispiel:
krb5_realm = REALM krb5_map_user = joe:juser,dick:richard
"joe" and "dick" are UNIX user names and "juser" and "richard" are primaries of kerberos principals. For user "joe" resp. "dick" SSSD will try to kinit as "juser@REALM" resp. "richard@REALM".
Voreinstellung: nicht gesetzt
Die Ausfallsicherungsfunktionalität ermöglicht es, dass Backends automatisch auf einen anderen Server wechseln, falls der aktuelle versagt.
Die Server werden als durch Kommata getrennte Liste angegeben. Um das Komma herum ist eine beliebige Anzahl von Leerzeichen erlaubt. Die Server werden in Reihenfolge der Bevorzugung aufgeführt. Die Liste kann eine beliebige Anzahl von Servern enthalten.
Von jeder Konfigurationsoption mit aktivierter Ausfallsicherung existieren zwei Varianten: primary und backup. Die Idee dahinter ist, dass Server in der Liste »primary« bevorzugt werden und nur nach »backup«-Servern gesucht wird, falls kein »primary«-Server erreichbar ist. Falls ein »backup«-Server ausgewählt wird, wird eine Dauer von 31 Sekunden bis zur Zeitüberschreitung festgelegt. Nach dieser Zeit wird SSSD periodisch versuchen, sich mit einem der primären Server zu verbinden. Ist dies erfolgreich, wird es den derzeit aktiven (»backup«-)Server ersetzen.
Der Ausfallsicherungsmechanismus unterscheidet zwischen einer Maschine und einem Dienst. Das Backend versucht zuerst, den Rechnernamen der angegebenen Maschine aufzulösen. Falls dieser Versuch scheitert, wird davon ausgegangen, dass die Maschine offline ist und sie auch für keinen anderen Dienst zur Verfügung steht. Kann der den Namen erfolgreich aufgelöst werden, versucht das Backend, sich mit einem Dienst auf dieser Maschine zu verbinden. Ist das nicht möglich, dann wird nur dieser bestimmte Dienst als offline angesehen und das Backend wechselt automatisch weiter zum nächsten. Die Maschine wird weiterhin als online betrachtet und kann immer noch für andere Dienste herangezogen werden.
Weitere Verbindungsversuche zu Maschinen oder Diensten, die als offline gekennzeichnet sind, werden erst nach einer angegebenen Zeitspanne unternommen. Diese ist derzeit hart auf 30 Sekunden codiert.
Falls es weitere Maschinen durchzuprobieren gibt, wechselt das Backend als Ganzes in den Offline-Modus und versucht dann alle 30 Sekunden, sich erneut zu verbinden.
Resolving a server to connect to can be as simple as running a single DNS query or can involve several steps, such as finding the correct site or trying out multiple host names in case some of the configured servers are not reachable. The more complex scenarios can take some time and SSSD needs to balance between providing enough time to finish the resolution process but on the other hand, not trying for too long before falling back to offline mode. If the SSSD debug logs show that the server resolution is timing out before a live server is contacted, you can consider changing the time outs.
This section lists the available tunables. Please refer to their description in the sssd.conf(5), manual page.
dns_resolver_server_timeout
Voreinstellung: 1000
dns_resolver_op_timeout
Voreinstellung: 3
dns_resolver_timeout
Voreinstellung: 6
For LDAP-based providers, the resolve operation is performed as part of an LDAP connection operation. Therefore, also the "ldap_opt_timeout" timeout should be set to a larger value than "dns_resolver_timeout" which in turn should be set to a larger value than "dns_resolver_op_timeout" which should be larger than "dns_resolver_server_timeout".
Die Dienstsuchfunktionalität ermöglicht es Backends, automatisch mit Hilfe einer speziellen DNS-Abfrage geeignete Server zu suchen, mit denen sie sich verbinden können. Diese Funktionalität wird nicht für Datensicherungs-Server unterstützt.
Falls keine Server angegeben wurden, benutzt das Backend die Dienstsuche, um einen Server zu finden. Wahlweise kann der Benutzer sowohl feste Server-Adressen als auch die Dienstsuche durch Eingabe des speziellen Schlüsselworts »_srv_« in der Server-Liste auswählen. Die bevorzugte Reihenfolge wird verwaltet. Diese Funktionalität ist zum Beispiel nützlich, falls der Anwender es vorzieht, die Dienstsuche zu verwenden, wann immer dies möglich ist, und auf einen bestimmten Server zurückzugreifen, wenn mittels DNS keine Server gefunden werden.
Weitere Einzelheiten finden Sie in der Handbuchseite sssd.conf(5) beim Parameter »dns_discovery_domain«.
Die Abfragen geben als Protokoll üblicherweise »_tcp« an. Ausnahmen sind in der Beschreibung der entsprechenden Option dokumentiert.
Weitere Informationen über den Dienstsuchmechanismus finden Sie in RFC 2782.
Das folgende Beispiel geht davon aus, dass SSSD korrekt konfiguriert wurde und FOO eine der Domains im Abschnitt [sssd] ist. Dieses Beispiel zeigt nur die Authentifizierung mit Kerberos, sie umfasst keine Identitätsanbieter.
[domain/FOO] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM
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) sssd-systemtap(5)
The SSSD upstream - https://github.com/SSSD/sssd/