<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"> <reference> <title>SSSD Manual pages</title> <refentry> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/upstream.xml" /> <refmeta> <refentrytitle>sssd-krb5</refentrytitle> <manvolnum>5</manvolnum> <refmiscinfo class="manual">File Formats and Conventions</refmiscinfo> </refmeta> <refnamediv id='name'> <refname>sssd-krb5</refname> <refpurpose>the configuration file for SSSD</refpurpose> </refnamediv> <refsect1 id='description'> <title>DESCRIPTION</title> <para> This manual page describes the configuration of the Kerberos 5 authentication backend for <citerefentry> <refentrytitle>sssd</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>. For a detailed syntax reference, please refer to the <quote>FILE FORMAT</quote> section of the <citerefentry> <refentrytitle>sssd.conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry> manual page </para> <para> The Kerberos 5 authentication backend contains auth and chpass providers. It must be paired with identity provider in order to function properly (for example, id_provider = ldap). Some information required by the Kerberos 5 authentication backend must be provided by the identity provider, such as the user's Kerberos Principal Name (UPN). The configuration of the identity provider should have an entry to specify the UPN. Please refer to the man page for the applicable identity provider for details on how to configure this. </para> <para> This backend also provides access control based on the .k5login file in the home directory of the user. See <citerefentry> <refentrytitle>.k5login</refentrytitle><manvolnum>5</manvolnum> </citerefentry> 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. </para> <para> In the case where the UPN is not available in the identity backend <command>sssd</command> will construct a UPN using the format <replaceable>username</replaceable>@<replaceable>krb5_realm</replaceable>. </para> </refsect1> <refsect1 id='file-format'> <title>CONFIGURATION OPTIONS</title> <para> If the auth-module krb5 is used in a SSSD domain, the following options must be used. See the <citerefentry> <refentrytitle>sssd.conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry> manual page, section <quote>DOMAIN SECTIONS</quote> for details on the configuration of a SSSD domain. <variablelist> <varlistentry> <term>krb5_server, krb5_backup_server (string)</term> <listitem> <para> Specifies the comma-separated list of IP addresses or hostnames of the Kerberos servers to which SSSD should connect in the order of preference. For more information on failover and server redundancy, see the <quote>FAILOVER</quote> section. An optional port number (preceded by a colon) may be appended to the addresses or hostnames. If empty, service discovery is enabled - for more information, refer to the <quote>SERVICE DISCOVERY</quote> section. </para> <para> When using service discovery for KDC or kpasswd servers, SSSD first searches for DNS entries that specify _udp as the protocol and falls back to _tcp if none are found. </para> <para> This option was named <quote>krb5_kdcip</quote> in earlier releases of SSSD. While the legacy name is recognized for the time being, users are advised to migrate their config files to use <quote>krb5_server</quote> instead. </para> </listitem> </varlistentry> <varlistentry> <term>krb5_realm (string)</term> <listitem> <para> The name of the Kerberos realm. This option is required and must be specified. </para> </listitem> </varlistentry> <varlistentry> <term>krb5_kpasswd, krb5_backup_kpasswd (string)</term> <listitem> <para> If the change password service is not running on the KDC alternative servers can be defined here. An optional port number (preceded by a colon) may be appended to the addresses or hostnames. </para> <para> For more information on failover and server redundancy, see the <quote>FAILOVER</quote> section. Please note that even if there are no more kpasswd servers to try the back end is not switch to offline if authentication against the KDC is still possible. </para> <para> Default: Use the KDC </para> </listitem> </varlistentry> <varlistentry> <term>krb5_ccachedir (string)</term> <listitem> <para> Directory to store credential caches. All the substitution sequences of krb5_ccname_template can be used here, too, except %d and %P. If the directory does not exist it will be created. If %u, %U, %p or %h are used a private directory belonging to the user is created. Otherwise a public directory with restricted deletion flag (aka sticky bit, see <citerefentry> <refentrytitle>chmod</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> for details) is created. </para> <para> Default: /tmp </para> </listitem> </varlistentry> <varlistentry> <term>krb5_ccname_template (string)</term> <listitem> <para> Location of the user's credential cache. Two credential cache types are currently supported - <quote>FILE</quote> and <quote>DIR</quote>. The cache can either be specified as <replaceable>TYPE:RESIDUAL</replaceable>, or an absolute path, which implies the <quote>FILE</quote> type. In the template the following sequences are substituted: <variablelist> <varlistentry> <term>%u</term> <listitem><para>login name</para></listitem> </varlistentry> <varlistentry> <term>%U</term> <listitem><para>login UID</para></listitem> </varlistentry> <varlistentry> <term>%p</term> <listitem><para>principal name</para> </listitem> </varlistentry> <varlistentry> <term>%r</term> <listitem><para>realm name</para></listitem> </varlistentry> <varlistentry> <term>%h</term> <listitem><para>home directory</para> </listitem> </varlistentry> <varlistentry> <term>%d</term> <listitem><para>value of krb5ccache_dir </para> </listitem> </varlistentry> <varlistentry> <term>%P</term> <listitem><para>the process ID of the sssd client</para> </listitem> </varlistentry> <varlistentry> <term>%%</term> <listitem><para>a literal '%'</para> </listitem> </varlistentry> </variablelist> If the template ends with 'XXXXXX' mkstemp(3) is used to create a unique filename in a safe way. </para> <para> Default: FILE:%d/krb5cc_%U_XXXXXX </para> </listitem> </varlistentry> <varlistentry> <term>krb5_auth_timeout (integer)</term> <listitem> <para> Timeout in seconds after an online authentication or change password request is aborted. If possible the authentication request is continued offline. </para> <para> Default: 15 </para> </listitem> </varlistentry> <varlistentry> <term>krb5_validate (boolean)</term> <listitem> <para> Verify with the help of krb5_keytab that the TGT obtained has not been spoofed. </para> <para> Default: false </para> </listitem> </varlistentry> <varlistentry> <term>krb5_keytab (string)</term> <listitem> <para> The location of the keytab to use when validating credentials obtained from KDCs. </para> <para> Default: /etc/krb5.keytab </para> </listitem> </varlistentry> <varlistentry> <term>krb5_store_password_if_offline (boolean)</term> <listitem> <para> Store the password of the user if the provider is offline and use it to request a TGT when the provider gets online again. </para> <para> Please note that this feature currently only available on a Linux platform. Passwords stored in this way are kept in plaintext in the kernel keyring and are potentially accessible by the root user (with difficulty). </para> <para> Default: false </para> </listitem> </varlistentry> <varlistentry> <term>krb5_renewable_lifetime (string)</term> <listitem> <para> Request a renewable ticket with a total lifetime given by an integer immediately followed by one of the following delimiters: </para> <para> <emphasis>s</emphasis> seconds </para> <para> <emphasis>m</emphasis> minutes </para> <para> <emphasis>h</emphasis> hours </para> <para> <emphasis>d</emphasis> days. </para> <para> If there is no delimiter <emphasis>s</emphasis> is assumed. </para> <para> Please note that it is not possible to mix units. If you want to set the renewable lifetime to one and a half hours please use '90m' instead of '1h30m'. </para> <para> Default: not set, i.e. the TGT is not renewable </para> </listitem> </varlistentry> <varlistentry> <term>krb5_lifetime (string)</term> <listitem> <para> Request ticket with a with a lifetime given by an integer immediately followed by one of the following delimiters: </para> <para> <emphasis>s</emphasis> seconds </para> <para> <emphasis>m</emphasis> minutes </para> <para> <emphasis>h</emphasis> hours </para> <para> <emphasis>d</emphasis> days. </para> <para> If there is no delimiter <emphasis>s</emphasis> is assumed. </para> <para> Please note that it is not possible to mix units. If you want to set the lifetime to one and a half hours please use '90m' instead of '1h30m'. </para> <para> Default: not set, i.e. the default ticket lifetime configured on the KDC. </para> </listitem> </varlistentry> <varlistentry> <term>krb5_renew_interval (integer)</term> <listitem> <para> The time in seconds between two checks if the TGT should be renewed. TGTs are renewed if about half of their lifetime is exceeded. </para> <para> If this option is not set or 0 the automatic renewal is disabled. </para> <para> Default: not set </para> </listitem> </varlistentry> <varlistentry> <term>krb5_use_fast (string)</term> <listitem> <para> Enables flexible authentication secure tunneling (FAST) for Kerberos pre-authentication. The following options are supported: </para> <para> <emphasis>never</emphasis> use FAST, this is equivalent to not set this option at all. </para> <para> <emphasis>try</emphasis> to use FAST, if the server does not support fast continue without. </para> <para> <emphasis>demand</emphasis> to use FAST, fail if the server does not require fast. </para> <para> Default: not set, i.e. FAST is not used. </para> <para> Please note that a keytab is required to use fast. </para> <para> Please note also that sssd supports fast only with MIT Kerberos version 1.8 and above. If sssd used with an older version using this option is a configuration error. </para> </listitem> </varlistentry> <varlistentry> <term>krb5_fast_principal (string)</term> <listitem> <para> Specifies the server principal to use for FAST. </para> </listitem> </varlistentry> <varlistentry> <term>krb5_canonicalize (boolean)</term> <listitem> <para> Specifies if the host and user principal should be canonicalized. This feature is available with MIT Kerberos >= 1.7 </para> <para> Default: false </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/failover.xml" /> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/service_discovery.xml" /> <refsect1 id='example'> <title>EXAMPLE</title> <para> The following example assumes that SSSD is correctly configured and FOO is one of the domains in the <replaceable>[sssd]</replaceable> section. This example shows only configuration of Kerberos authentication, it does not include any identity provider. </para> <para> <programlisting> [domain/FOO] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM </programlisting> </para> </refsect1> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/seealso.xml" /> </refentry> </reference>