1SSSD.CONF(5)             File Formats and Conventions             SSSD.CONF(5)
2
3
4

NAME

6       sssd.conf - the configuration file for SSSD
7

FILE FORMAT

9       The file has an ini-style syntax and consists of sections and
10       parameters. A section begins with the name of the section in square
11       brackets and continues until the next section begins. An example of
12       section with single and multi-valued parameters:
13
14           [section]
15           key = value
16           key2 = value2,value3
17
18
19       The data types used are string (no quotes needed), integer and bool
20       (with values of “TRUE/FALSE”).
21
22       A comment line starts with a hash sign (“#”) or a semicolon (“;”).
23       Inline comments are not supported.
24
25       All sections can have an optional description parameter. Its function
26       is only as a label for the section.
27
28       sssd.conf must be a regular file, owned by root and only root may read
29       from or write to the file.
30

CONFIGURATION SNIPPETS FROM INCLUDE DIRECTORY

32       The configuration file sssd.conf will include configuration snippets
33       using the include directory conf.d. This feature is available if SSSD
34       was compiled with libini version 1.3.0 or later.
35
36       Any file placed in conf.d that ends in “.conf” and does not begin with
37       a dot (“.”) will be used together with sssd.conf to configure SSSD.
38
39       The configuration snippets from conf.d have higher priority than
40       sssd.conf and will override sssd.conf when conflicts occur. If several
41       snippets are present in conf.d, then they are included in alphabetical
42       order (based on locale). Files included later have higher priority.
43       Numerical prefixes (01_snippet.conf, 02_snippet.conf etc.) can help
44       visualize the priority (higher number means higher priority).
45
46       The snippet files require the same owner and permissions as sssd.conf.
47       Which are by default root:root and 0600.
48

GENERAL OPTIONS

50       Following options are usable in more than one configuration sections.
51
52   Options usable in all sections
53       debug_level (integer)
54           SSSD supports two representations for specifying the debug level.
55           The simplest is to specify a decimal value from 0-9, which
56           represents enabling that level and all lower-level debug messages.
57           The more comprehensive option is to specify a hexadecimal bitmask
58           to enable or disable specific levels (such as if you wish to
59           suppress a level).
60
61           Please note that each SSSD service logs into its own log file. Also
62           please note that enabling “debug_level” in the “[sssd]” section
63           only enables debugging just for the sssd process itself, not for
64           the responder or provider processes. The “debug_level” parameter
65           should be added to all sections that you wish to produce debug logs
66           from.
67
68           In addition to changing the log level in the config file using the
69           “debug_level” parameter, which is persistent, but requires SSSD
70           restart, it is also possible to change the debug level on the fly
71           using the sss_debuglevel(8) tool.
72
73           Currently supported debug levels:
74
75           0, 0x0010: Fatal failures. Anything that would prevent SSSD from
76           starting up or causes it to cease running.
77
78           1, 0x0020: Critical failures. An error that doesn't kill SSSD, but
79           one that indicates that at least one major feature is not going to
80           work properly.
81
82           2, 0x0040: Serious failures. An error announcing that a particular
83           request or operation has failed.
84
85           3, 0x0080: Minor failures. These are the errors that would
86           percolate down to cause the operation failure of 2.
87
88           4, 0x0100: Configuration settings.
89
90           5, 0x0200: Function data.
91
92           6, 0x0400: Trace messages for operation functions.
93
94           7, 0x1000: Trace messages for internal control functions.
95
96           8, 0x2000: Contents of function-internal variables that may be
97           interesting.
98
99           9, 0x4000: Extremely low-level tracing information.
100
101           To log required bitmask debug levels, simply add their numbers
102           together as shown in following examples:
103
104           Example: To log fatal failures, critical failures, serious failures
105           and function data use 0x0270.
106
107           Example: To log fatal failures, configuration settings, function
108           data, trace messages for internal control functions use 0x1310.
109
110           Note: The bitmask format of debug levels was introduced in 1.7.0.
111
112           Default: 0
113
114       debug (integer)
115           SSSD 1.14 and later also includes the debug alias for debug_level
116           as a convenience feature. If both are specified, the value of
117           debug_level will be used.
118
119       debug_timestamps (bool)
120           Add a timestamp to the debug messages. If journald is enabled for
121           SSSD debug logging this option is ignored.
122
123           Default: true
124
125       debug_microseconds (bool)
126           Add microseconds to the timestamp in debug messages. If journald is
127           enabled for SSSD debug logging this option is ignored.
128
129           Default: false
130
131   Options usable in SERVICE and DOMAIN sections
132       timeout (integer)
133           Timeout in seconds between heartbeats for this service. This is
134           used to ensure that the process is alive and capable of answering
135           requests. Note that after three missed heartbeats the process will
136           terminate itself.
137
138           Default: 10
139

SPECIAL SECTIONS

141   The [sssd] section
142       Individual pieces of SSSD functionality are provided by special SSSD
143       services that are started and stopped together with SSSD. The services
144       are managed by a special service frequently called “monitor”. The
145       “[sssd]” section is used to configure the monitor as well as some other
146       important options like the identity domains.
147
148       Section parameters
149
150       config_file_version (integer)
151           Indicates what is the syntax of the config file. SSSD 0.6.0 and
152           later use version 2.
153
154       services
155           Comma separated list of services that are started when sssd itself
156           starts.  The services' list is optional on platforms where systemd
157           is supported, as they will either be socket or D-Bus activated when
158           needed.
159
160           Supported services: nss, pam , sudo , autofs , ssh , pac , ifp
161
162           By default, all services are disabled and the administrator must
163           enable the ones allowed to be used by executing: "systemctl enable
164           sssd-@service@.socket".
165
166       reconnection_retries (integer)
167           Number of times services should attempt to reconnect in the event
168           of a Data Provider crash or restart before they give up
169
170           Default: 3
171
172       domains
173           A domain is a database containing user information. SSSD can use
174           more domains at the same time, but at least one must be configured
175           or SSSD won't start. This parameter describes the list of domains
176           in the order you want them to be queried. A domain name should only
177           consist of alphanumeric ASCII characters, dashes, dots and
178           underscores.
179
180       re_expression (string)
181           Default regular expression that describes how to parse the string
182           containing user name and domain into these components.
183
184           Each domain can have an individual regular expression configured.
185           For some ID providers there are also default regular expressions.
186           See DOMAIN SECTIONS for more info on these regular expressions.
187
188       full_name_format (string)
189           A printf(3)-compatible format that describes how to compose a fully
190           qualified name from user name and domain name components.
191
192           The following expansions are supported:
193
194           %1$s
195               user name
196
197           %2$s
198               domain name as specified in the SSSD config file.
199
200           %3$s
201               domain flat name. Mostly usable for Active Directory domains,
202               both directly configured or discovered via IPA trusts.
203
204           Each domain can have an individual format string configured. see
205           DOMAIN SECTIONS for more info on this option.
206
207       monitor_resolv_conf (boolean)
208           Controls if SSSD should monitor the state of resolv.conf to
209           identify when it needs to update its internal DNS resolver.
210
211           Default: true
212
213       try_inotify (boolean)
214           By default, SSSD will attempt to use inotify to monitor
215           configuration files changes and will fall back to polling every
216           five seconds if inotify cannot be used.
217
218           There are some limited situations where it is preferred that we
219           should skip even trying to use inotify. In these rare cases, this
220           option should be set to 'false'
221
222           Default: true on platforms where inotify is supported. False on
223           other platforms.
224
225           Note: this option will have no effect on platforms where inotify is
226           unavailable. On these platforms, polling will always be used.
227
228       krb5_rcache_dir (string)
229           Directory on the filesystem where SSSD should store Kerberos replay
230           cache files.
231
232           This option accepts a special value __LIBKRB5_DEFAULTS__ that will
233           instruct SSSD to let libkrb5 decide the appropriate location for
234           the replay cache.
235
236           Default: Distribution-specific and specified at build-time.
237           (__LIBKRB5_DEFAULTS__ if not configured)
238
239       user (string)
240           The user to drop the privileges to where appropriate to avoid
241           running as the root user.  This option does not work when running
242           socket-activated services, as the user set up to run the processes
243           is set up during compilation time. The way to override the systemd
244           unit files is by creating the appropriate files in
245           /etc/systemd/system/. Keep in mind that any change in the socket
246           user, group or permissions may result in a non-usable SSSD. The
247           same may occur in case of changes of the user running the NSS
248           responder.
249
250           Default: not set, process will run as root
251
252       default_domain_suffix (string)
253           This string will be used as a default domain name for all names
254           without a domain name component. The main use case is environments
255           where the primary domain is intended for managing host policies and
256           all users are located in a trusted domain. The option allows those
257           users to log in just with their user name without giving a domain
258           name as well.
259
260           Please note that if this option is set all users from the primary
261           domain have to use their fully qualified name, e.g.
262           user@domain.name, to log in. Setting this option changes default of
263           use_fully_qualified_names to True. It is not allowed to use this
264           option together with use_fully_qualified_names set to False. One
265           exception from this rule are domains with “id_provider=files” that
266           always try to match the behaviour of nss_files and therefore their
267           output is not qualified even when the default_domain_suffix option
268           is used.
269
270           Default: not set
271
272       override_space (string)
273           This parameter will replace spaces (space bar) with the given
274           character for user and group names. e.g. (_). User name "john doe"
275           will be "john_doe" This feature was added to help compatibility
276           with shell scripts that have difficulty handling spaces, due to the
277           default field separator in the shell.
278
279           Please note it is a configuration error to use a replacement
280           character that might be used in user or group names. If a name
281           contains the replacement character SSSD tries to return the
282           unmodified name but in general the result of a lookup is undefined.
283
284           Default: not set (spaces will not be replaced)
285
286       certificate_verification (string)
287           With this parameter the certificate verification can be tuned with
288           a comma separated list of options. Supported options are:
289
290           no_ocsp
291               Disables Online Certificate Status Protocol (OCSP) checks. This
292               might be needed if the OCSP servers defined in the certificate
293               are not reachable from the client.
294
295           soft_ocsp
296               (NSS Version) This option is ignored.
297
298               (OpenSSL Version) If a connection cannot be established to an
299               OCSP responder the OCSP check is skipped. This option should be
300               used to allow authentication when the system is offline and the
301               OCSP responder cannot be reached.
302
303           ocsp_dgst
304               Digest (hash) function used to create the certificate ID for
305               the OCSP request. Allowed values are:
306
307               ·   sha1
308
309               ·   sha256
310
311               ·   sha384
312
313               ·   sha512
314
315               Default: sha256
316
317               (NSS Version) This option is ignored, because NSS uses sha1
318               unconditionally.
319
320           no_verification
321               Disables verification completely. This option should only be
322               used for testing.
323
324           ocsp_default_responder=URL
325               Sets the OCSP default responder which should be used instead of
326               the one mentioned in the certificate. URL must be replaced with
327               the URL of the OCSP default responder e.g.
328               http://example.com:80/ocsp.
329
330               (NSS Version) This option must be used together with
331               ocsp_default_responder_signing_cert.
332
333           ocsp_default_responder_signing_cert=NAME
334               (NSS Version) The nickname of the cert to trust (expected) to
335               sign the OCSP responses. The certificate with the given
336               nickname must be available in the systems NSS database.
337
338               This option must be used together with ocsp_default_responder.
339
340               (OpenSSL version) This option is currently ignored. All needed
341               certificates must be available in the PEM file given by
342               pam_cert_db_path.
343
344           crl_file=/PATH/TO/CRL/FILE
345               (NSS Version) This option is ignored, please see crlutil(1) how
346               to import a Certificate Revocation List (CRL) into a NSS
347               database.
348
349               (OpenSSL Version) Use the Certificate Revocation List (CRL)
350               from the given file during the verification of the certificate.
351               The CRL must be given in PEM format, see crl(1ssl) for details.
352
353           soft_crl
354               (NSS Version) This option is ignored.
355
356               (OpenSSL Version) If a Certificate Revocation List (CRL) is
357               expired ignore the CRL checks for the related certificates.
358               This option should be used to allow authentication when the
359               system is offline and the CRL cannot be renewed.
360
361           This man page was generated for the OpenSSL version.
362
363           Unknown options are reported but ignored.
364
365           Default: not set, i.e. do not restrict certificate verification
366
367       disable_netlink (boolean)
368           SSSD hooks into the netlink interface to monitor changes to routes,
369           addresses, links and trigger certain actions.
370
371           The SSSD state changes caused by netlink events may be undesirable
372           and can be disabled by setting this option to 'true'
373
374           Default: false (netlink changes are detected)
375
376       enable_files_domain (boolean)
377           When this option is enabled, SSSD prepends an implicit domain with
378           “id_provider=files” before any explicitly configured domains.
379
380           Default: true
381
382       domain_resolution_order
383           Comma separated list of domains and subdomains representing the
384           lookup order that will be followed. The list doesn't have to
385           include all possible domains as the missing domains will be looked
386           up based on the order they're presented in the “domains”
387           configuration option. The subdomains which are not listed as part
388           of “lookup_order” will be looked up in a random order for each
389           parent domain.
390
391           Please, note that when this option is set the output format of all
392           commands is always fully-qualified even when using short names for
393           input, for all users but the ones managed by the files provider. In
394           case the administrator wants the output not fully-qualified, the
395           full_name_format option can be used as shown below:
396           “full_name_format=%1$s” However, keep in mind that during login,
397           login applications often canonicalize the username by calling
398           getpwnam(3) which, if a shortname is returned for a qualified input
399           (while trying to reach a user which exists in multiple domains)
400           might re-route the login attempt into the domain which uses
401           shortnames, making this workaround totally not recommended in cases
402           where usernames may overlap between domains.
403
404           Default: Not set
405

SERVICES SECTIONS

407       Settings that can be used to configure different services are described
408       in this section. They should reside in the [$NAME] section, for
409       example, for NSS service, the section would be “[nss]”
410
411   General service configuration options
412       These options can be used to configure any service.
413
414       reconnection_retries (integer)
415           Number of times services should attempt to reconnect in the event
416           of a Data Provider crash or restart before they give up
417
418           Default: 3
419
420       fd_limit
421           This option specifies the maximum number of file descriptors that
422           may be opened at one time by this SSSD process. On systems where
423           SSSD is granted the CAP_SYS_RESOURCE capability, this will be an
424           absolute setting. On systems without this capability, the resulting
425           value will be the lower value of this or the limits.conf "hard"
426           limit.
427
428           Default: 8192 (or limits.conf "hard" limit)
429
430       client_idle_timeout
431           This option specifies the number of seconds that a client of an
432           SSSD process can hold onto a file descriptor without communicating
433           on it. This value is limited in order to avoid resource exhaustion
434           on the system. The timeout can't be shorter than 10 seconds. If a
435           lower value is configured, it will be adjusted to 10 seconds.
436
437           Default: 60
438
439       offline_timeout (integer)
440           When SSSD switches to offline mode the amount of time before it
441           tries to go back online will increase based upon the time spent
442           disconnected. This value is in seconds and calculated by the
443           following:
444
445           offline_timeout + random_offset
446
447           The random offset can increment up to 30 seconds. After each
448           unsuccessful attempt to go online, the new interval is recalculated
449           by the following:
450
451           new_interval = old_interval*2 + random_offset
452
453           Note that the maximum length of each interval is currently limited
454           to one hour. If the calculated length of new_interval is greater
455           than an hour, it will be forced to one hour.
456
457           Default: 60
458
459       responder_idle_timeout
460           This option specifies the number of seconds that an SSSD responder
461           process can be up without being used. This value is limited in
462           order to avoid resource exhaustion on the system. The minimum
463           acceptable value for this option is 60 seconds. Setting this option
464           to 0 (zero) means that no timeout will be set up to the responder.
465           This option only has effect when SSSD is built with systemd support
466           and when services are either socket or D-Bus activated.
467
468           Default: 300
469
470       cache_first
471           This option specifies whether the responder should query all caches
472           before querying the Data Providers.
473
474           Default: false
475
476   NSS configuration options
477       These options can be used to configure the Name Service Switch (NSS)
478       service.
479
480       enum_cache_timeout (integer)
481           How many seconds should nss_sss cache enumerations (requests for
482           info about all users)
483
484           Default: 120
485
486       entry_cache_nowait_percentage (integer)
487           The entry cache can be set to automatically update entries in the
488           background if they are requested beyond a percentage of the
489           entry_cache_timeout value for the domain.
490
491           For example, if the domain's entry_cache_timeout is set to 30s and
492           entry_cache_nowait_percentage is set to 50 (percent), entries that
493           come in after 15 seconds past the last cache update will be
494           returned immediately, but the SSSD will go and update the cache on
495           its own, so that future requests will not need to block waiting for
496           a cache update.
497
498           Valid values for this option are 0-99 and represent a percentage of
499           the entry_cache_timeout for each domain. For performance reasons,
500           this percentage will never reduce the nowait timeout to less than
501           10 seconds. (0 disables this feature)
502
503           Default: 50
504
505       entry_negative_timeout (integer)
506           Specifies for how many seconds nss_sss should cache negative cache
507           hits (that is, queries for invalid database entries, like
508           nonexistent ones) before asking the back end again.
509
510           Default: 15
511
512       local_negative_timeout (integer)
513           Specifies for how many seconds nss_sss should keep local users and
514           groups in negative cache before trying to look it up in the back
515           end again. Setting the option to 0 disables this feature.
516
517           Default: 14400 (4 hours)
518
519       filter_users, filter_groups (string)
520           Exclude certain users or groups from being fetched from the sss NSS
521           database. This is particularly useful for system accounts. This
522           option can also be set per-domain or include fully-qualified names
523           to filter only users from the particular domain or by a user
524           principal name (UPN).
525
526           NOTE: The filter_groups option doesn't affect inheritance of nested
527           group members, since filtering happens after they are propagated
528           for returning via NSS. E.g. a group having a member group filtered
529           out will still have the member users of the latter listed.
530
531           Default: root
532
533       filter_users_in_groups (bool)
534           If you want filtered user still be group members set this option to
535           false.
536
537           Default: true
538
539       override_homedir (string)
540           Override the user's home directory. You can either provide an
541           absolute value or a template. In the template, the following
542           sequences are substituted:
543
544           %u
545               login name
546
547           %U
548               UID number
549
550           %d
551               domain name
552
553           %f
554               fully qualified user name (user@domain)
555
556           %l
557               The first letter of the login name.
558
559           %P
560               UPN - User Principal Name (name@REALM)
561
562           %o
563               The original home directory retrieved from the identity
564               provider.
565
566           %H
567               The value of configure option homedir_substring.
568
569           %%
570               a literal '%'
571
572           This option can also be set per-domain.
573
574           example:
575
576               override_homedir = /home/%u
577
578
579           Default: Not set (SSSD will use the value retrieved from LDAP)
580
581       homedir_substring (string)
582           The value of this option will be used in the expansion of the
583           override_homedir option if the template contains the format string
584           %H. An LDAP directory entry can directly contain this template so
585           that this option can be used to expand the home directory path for
586           each client machine (or operating system). It can be set per-domain
587           or globally in the [nss] section. A value specified in a domain
588           section will override one set in the [nss] section.
589
590           Default: /home
591
592       fallback_homedir (string)
593           Set a default template for a user's home directory if one is not
594           specified explicitly by the domain's data provider.
595
596           The available values for this option are the same as for
597           override_homedir.
598
599           example:
600
601               fallback_homedir = /home/%u
602
603
604           Default: not set (no substitution for unset home directories)
605
606       override_shell (string)
607           Override the login shell for all users. This option supersedes any
608           other shell options if it takes effect and can be set either in the
609           [nss] section or per-domain.
610
611           Default: not set (SSSD will use the value retrieved from LDAP)
612
613       allowed_shells (string)
614           Restrict user shell to one of the listed values. The order of
615           evaluation is:
616
617           1. If the shell is present in “/etc/shells”, it is used.
618
619           2. If the shell is in the allowed_shells list but not in
620           “/etc/shells”, use the value of the shell_fallback parameter.
621
622           3. If the shell is not in the allowed_shells list and not in
623           “/etc/shells”, a nologin shell is used.
624
625           The wildcard (*) can be used to allow any shell.
626
627           The (*) is useful if you want to use shell_fallback in case that
628           user's shell is not in “/etc/shells” and maintaining list of all
629           allowed shells in allowed_shells would be to much overhead.
630
631           An empty string for shell is passed as-is to libc.
632
633           The “/etc/shells” is only read on SSSD start up, which means that a
634           restart of the SSSD is required in case a new shell is installed.
635
636           Default: Not set. The user shell is automatically used.
637
638       vetoed_shells (string)
639           Replace any instance of these shells with the shell_fallback
640
641       shell_fallback (string)
642           The default shell to use if an allowed shell is not installed on
643           the machine.
644
645           Default: /bin/sh
646
647       default_shell
648           The default shell to use if the provider does not return one during
649           lookup. This option can be specified globally in the [nss] section
650           or per-domain.
651
652           Default: not set (Return NULL if no shell is specified and rely on
653           libc to substitute something sensible when necessary, usually
654           /bin/sh)
655
656       get_domains_timeout (int)
657           Specifies time in seconds for which the list of subdomains will be
658           considered valid.
659
660           Default: 60
661
662       memcache_timeout (int)
663           Specifies time in seconds for which records in the in-memory cache
664           will be valid. Setting this option to zero will disable the
665           in-memory cache.
666
667           Default: 300
668
669           WARNING: Disabling the in-memory cache will have significant
670           negative impact on SSSD's performance and should only be used for
671           testing.
672
673           NOTE: If the environment variable SSS_NSS_USE_MEMCACHE is set to
674           "NO", client applications will not use the fast in-memory cache.
675
676       user_attributes (string)
677           Some of the additional NSS responder requests can return more
678           attributes than just the POSIX ones defined by the NSS interface.
679           The list of attributes is controlled by this option. It is handled
680           the same way as the “user_attributes” option of the InfoPipe
681           responder (see sssd-ifp(5) for details) but with no default values.
682
683           To make configuration more easy the NSS responder will check the
684           InfoPipe option if it is not set for the NSS responder.
685
686           Default: not set, fallback to InfoPipe option
687
688       pwfield (string)
689           The value that NSS operations that return users or groups will
690           return for the “password” field.
691
692           This option can also be set per-domain.
693
694           Default: “*” (remote domains) or “x” (the files domain)
695
696   PAM configuration options
697       These options can be used to configure the Pluggable Authentication
698       Module (PAM) service.
699
700       offline_credentials_expiration (integer)
701           If the authentication provider is offline, how long should we allow
702           cached logins (in days since the last successful online login).
703
704           Default: 0 (No limit)
705
706       offline_failed_login_attempts (integer)
707           If the authentication provider is offline, how many failed login
708           attempts are allowed.
709
710           Default: 0 (No limit)
711
712       offline_failed_login_delay (integer)
713           The time in minutes which has to pass after
714           offline_failed_login_attempts has been reached before a new login
715           attempt is possible.
716
717           If set to 0 the user cannot authenticate offline if
718           offline_failed_login_attempts has been reached. Only a successful
719           online authentication can enable offline authentication again.
720
721           Default: 5
722
723       pam_verbosity (integer)
724           Controls what kind of messages are shown to the user during
725           authentication. The higher the number to more messages are
726           displayed.
727
728           Currently sssd supports the following values:
729
730           0: do not show any message
731
732           1: show only important messages
733
734           2: show informational messages
735
736           3: show all messages and debug information
737
738           Default: 1
739
740       pam_response_filter (integer)
741           A comma separated list of strings which allows to remove (filter)
742           data sent by the PAM responder to pam_sss PAM module. There are
743           different kind of responses sent to pam_sss e.g. messages displayed
744           to the user or environment variables which should be set by
745           pam_sss.
746
747           While messages already can be controlled with the help of the
748           pam_verbosity option this option allows to filter out other kind of
749           responses as well.
750
751           Currently the following filters are supported:
752
753           ENV
754               Do not send any environment variables to any service.
755
756           ENV:var_name
757               Do not send environment variable var_name to any service.
758
759           ENV:var_name:service
760               Do not send environment variable var_name to service.
761
762           Default: not set
763
764           Example: ENV:KRB5CCNAME:sudo-i
765
766       pam_id_timeout (integer)
767           For any PAM request while SSSD is online, the SSSD will attempt to
768           immediately update the cached identity information for the user in
769           order to ensure that authentication takes place with the latest
770           information.
771
772           A complete PAM conversation may perform multiple PAM requests, such
773           as account management and session opening. This option controls (on
774           a per-client-application basis) how long (in seconds) we can cache
775           the identity information to avoid excessive round-trips to the
776           identity provider.
777
778           Default: 5
779
780       pam_pwd_expiration_warning (integer)
781           Display a warning N days before the password expires.
782
783           Please note that the backend server has to provide information
784           about the expiration time of the password. If this information is
785           missing, sssd cannot display a warning.
786
787           If zero is set, then this filter is not applied, i.e. if the
788           expiration warning was received from backend server, it will
789           automatically be displayed.
790
791           This setting can be overridden by setting pwd_expiration_warning
792           for a particular domain.
793
794           Default: 0
795
796       get_domains_timeout (int)
797           Specifies time in seconds for which the list of subdomains will be
798           considered valid.
799
800           Default: 60
801
802       pam_trusted_users (string)
803           Specifies the comma-separated list of UID values or user names that
804           are allowed to run PAM conversations against trusted domains. Users
805           not included in this list can only access domains marked as public
806           with “pam_public_domains”. User names are resolved to UIDs at
807           startup.
808
809           Default: All users are considered trusted by default
810
811           Please note that UID 0 is always allowed to access the PAM
812           responder even in case it is not in the pam_trusted_users list.
813
814       pam_public_domains (string)
815           Specifies the comma-separated list of domain names that are
816           accessible even to untrusted users.
817
818           Two special values for pam_public_domains option are defined:
819
820           all (Untrusted users are allowed to access all domains in PAM
821           responder.)
822
823           none (Untrusted users are not allowed to access any domains PAM in
824           responder.)
825
826           Default: none
827
828       pam_account_expired_message (string)
829           Allows a custom expiration message to be set, replacing the default
830           'Permission denied' message.
831
832           Note: Please be aware that message is only printed for the SSH
833           service unless pam_verbosity is set to 3 (show all messages and
834           debug information).
835
836           example:
837
838               pam_account_expired_message = Account expired, please contact help desk.
839
840
841           Default: none
842
843       pam_account_locked_message (string)
844           Allows a custom lockout message to be set, replacing the default
845           'Permission denied' message.
846
847           example:
848
849               pam_account_locked_message = Account locked, please contact help desk.
850
851
852           Default: none
853
854       pam_cert_auth (bool)
855           Enable certificate based Smartcard authentication. Since this
856           requires additional communication with the Smartcard which will
857           delay the authentication process this option is disabled by
858           default.
859
860           Default: False
861
862       pam_cert_db_path (string)
863           The path to the certificate database which contain the PKCS#11
864           modules to access the Smartcard.
865
866           Default:
867
868           ·   /etc/pki/nssdb (NSS version, path to a NSS database)
869
870           ·   /etc/sssd/pki/sssd_auth_ca_db.pem (OpenSSL version, path to a
871               file with trusted CA certificates in PEM format)
872
873           This man page was generated for the OpenSSL version.
874
875       p11_child_timeout (integer)
876           How many seconds will pam_sss wait for p11_child to finish.
877
878           Default: 10
879
880       pam_app_services (string)
881           Which PAM services are permitted to contact domains of type
882           “application”
883
884           Default: Not set
885
886       pam_p11_allowed_services (integer)
887           A comma-separated list of PAM service names for which it will be
888           allowed to use Smartcards.
889
890           It is possible to add another PAM service name to the default set
891           by using “+service_name” or to explicitly remove a PAM service name
892           from the default set by using “-service_name”. For example, in
893           order to replace a default PAM service name for authentication with
894           Smartcards (e.g.  “login”) with a custom PAM service name (e.g.
895           “my_pam_service”), you would use the following configuration:
896
897               pam_p11_allowed_services = +my_pam_service, -login
898
899
900           Default: the default set of PAM service names includes:
901
902           ·   login
903
904           ·   su
905
906           ·   su-l
907
908           ·   gdm-smartcard
909
910           ·   gdm-password
911
912           ·   kdm
913
914           ·   sudo
915
916           ·   sudo-i
917
918           ·   gnome-screensaver
919
920
921       p11_wait_for_card_timeout (integer)
922           If Smartcard authentication is required how many extra seconds in
923           addition to p11_child_timeout should the PAM responder wait until a
924           Smartcard is inserted.
925
926           Default: 60
927
928       p11_uri (string)
929           PKCS#11 URI (see RFC-7512 for details) which can be used to
930           restrict the selection of devices used for Smartcard
931           authentication. By default SSSD's p11_child will search for a
932           PKCS#11 slot (reader) where the 'removable' flags is set and read
933           the certificates from the inserted token from the first slot found.
934           If multiple readers are connected p11_uri can be used to tell
935           p11_child to use a specific reader.
936
937           Example:
938
939               p11_uri = slot-description=My%20Smartcar%20Reader
940
941
942           or
943
944               p11_uri = library-description=OpenSC%20smartcard%20framework;slot-id=2
945
946
947           To find suitable URI please check the debug output of p11_child. As
948           an alternative the GnuTLS utility 'p11tool' with e.g. the
949           '--list-all' will show PKCS#11 URIs as well.
950
951           Default: none
952
953   SUDO configuration options
954       These options can be used to configure the sudo service. The detailed
955       instructions for configuration of sudo(8) to work with sssd(8) are in
956       the manual page sssd-sudo(5).
957
958       sudo_timed (bool)
959           Whether or not to evaluate the sudoNotBefore and sudoNotAfter
960           attributes that implement time-dependent sudoers entries.
961
962           Default: false
963
964       sudo_threshold (integer)
965           Maximum number of expired rules that can be refreshed at once. If
966           number of expired rules is below threshold, those rules are
967           refreshed with “rules refresh” mechanism. If the threshold is
968           exceeded a “full refresh” of sudo rules is triggered instead. This
969           threshold number also applies to IPA sudo command and command group
970           searches.
971
972           Default: 50
973
974   AUTOFS configuration options
975       These options can be used to configure the autofs service.
976
977       autofs_negative_timeout (integer)
978           Specifies for how many seconds should the autofs responder negative
979           cache hits (that is, queries for invalid map entries, like
980           nonexistent ones) before asking the back end again.
981
982           Default: 15
983
984       Please note that the automounter only reads the master map on startup,
985       so if any autofs-related changes are made to the sssd.conf, you
986       typically also need to restart the automounter daemon after restarting
987       the SSSD.
988
989   SSH configuration options
990       These options can be used to configure the SSH service.
991
992       ssh_hash_known_hosts (bool)
993           Whether or not to hash host names and addresses in the managed
994           known_hosts file.
995
996           Default: true
997
998       ssh_known_hosts_timeout (integer)
999           How many seconds to keep a host in the managed known_hosts file
1000           after its host keys were requested.
1001
1002           Default: 180
1003
1004       ssh_use_certificate_keys (bool)
1005           If set to true the sss_ssh_authorizedkeys will return ssh keys
1006           derived from the public key of X.509 certificates stored in the
1007           user entry as well. See sss_ssh_authorizedkeys(1) for details.
1008
1009           Default: true
1010
1011       ssh_use_certificate_matching_rules (string)
1012           By default the ssh responder will use all available certificate
1013           matching rules to filter the certificates so that ssh keys are only
1014           derived from the matching ones. With this option the used rules can
1015           be restricted with a comma separated list of mapping and matching
1016           rule names. All other rules will be ignored.
1017
1018           If a non-existing rule name is given all rules will be ignored and
1019           all available certificates will be used to derive ssh keys.
1020
1021           Default: not set, all found rules are used
1022
1023       ca_db (string)
1024           Path to a storage of trusted CA certificates. The option is used to
1025           validate user certificates before deriving public ssh keys from
1026           them.
1027
1028           Default:
1029
1030           ·   /etc/pki/nssdb (NSS version, path to a NSS database)
1031
1032           ·   /etc/sssd/pki/sssd_auth_ca_db.pem (OpenSSL version, path to a
1033               file with trusted CA certificates in PEM format)
1034
1035           This man page was generated for the OpenSSL version.
1036
1037   PAC responder configuration options
1038       The PAC responder works together with the authorization data plugin for
1039       MIT Kerberos sssd_pac_plugin.so and a sub-domain provider. The plugin
1040       sends the PAC data during a GSSAPI authentication to the PAC responder.
1041       The sub-domain provider collects domain SID and ID ranges of the domain
1042       the client is joined to and of remote trusted domains from the local
1043       domain controller. If the PAC is decoded and evaluated some of the
1044       following operations are done:
1045
1046       ·   If the remote user does not exist in the cache, it is created. The
1047           UID is determined with the help of the SID, trusted domains will
1048           have UPGs and the GID will have the same value as the UID. The home
1049           directory is set based on the subdomain_homedir parameter. The
1050           shell will be empty by default, i.e. the system defaults are used,
1051           but can be overwritten with the default_shell parameter.
1052
1053       ·   If there are SIDs of groups from domains sssd knows about, the user
1054           will be added to those groups.
1055
1056       These options can be used to configure the PAC responder.
1057
1058       allowed_uids (string)
1059           Specifies the comma-separated list of UID values or user names that
1060           are allowed to access the PAC responder. User names are resolved to
1061           UIDs at startup.
1062
1063           Default: 0 (only the root user is allowed to access the PAC
1064           responder)
1065
1066           Please note that although the UID 0 is used as the default it will
1067           be overwritten with this option. If you still want to allow the
1068           root user to access the PAC responder, which would be the typical
1069           case, you have to add 0 to the list of allowed UIDs as well.
1070
1071       pac_lifetime (integer)
1072           Lifetime of the PAC entry in seconds. As long as the PAC is valid
1073           the PAC data can be used to determine the group memberships of a
1074           user.
1075
1076           Default: 300
1077
1078   Session recording configuration options
1079       Session recording works in conjunction with tlog-rec-session(8), a part
1080       of tlog package, to log what users see and type when they log in on a
1081       text terminal. See also sssd-session-recording(5).
1082
1083       These options can be used to configure session recording.
1084
1085       scope (string)
1086           One of the following strings specifying the scope of session
1087           recording:
1088
1089           "none"
1090               No users are recorded.
1091
1092           "some"
1093               Users/groups specified by users and groups options are
1094               recorded.
1095
1096           "all"
1097               All users are recorded.
1098
1099           Default: "none"
1100
1101       users (string)
1102           A comma-separated list of users which should have session recording
1103           enabled. Matches user names as returned by NSS. I.e. after the
1104           possible space replacement, case changes, etc.
1105
1106           Default: Empty. Matches no users.
1107
1108       groups (string)
1109           A comma-separated list of groups, members of which should have
1110           session recording enabled. Matches group names as returned by NSS.
1111           I.e. after the possible space replacement, case changes, etc.
1112
1113           NOTE: using this option (having it set to anything) has a
1114           considerable performance cost, because each uncached request for a
1115           user requires retrieving and matching the groups the user is member
1116           of.
1117
1118           Default: Empty. Matches no groups.
1119

DOMAIN SECTIONS

1121       These configuration options can be present in a domain configuration
1122       section, that is, in a section called “[domain/NAME]”
1123
1124       domain_type (string)
1125           Specifies whether the domain is meant to be used by POSIX-aware
1126           clients such as the Name Service Switch or by applications that do
1127           not need POSIX data to be present or generated. Only objects from
1128           POSIX domains are available to the operating system interfaces and
1129           utilities.
1130
1131           Allowed values for this option are “posix” and “application”.
1132
1133           POSIX domains are reachable by all services. Application domains
1134           are only reachable from the InfoPipe responder (see sssd-ifp(5))
1135           and the PAM responder.
1136
1137           NOTE: The application domains are currently well tested with
1138           “id_provider=ldap” only.
1139
1140           For an easy way to configure a non-POSIX domains, please see the
1141           “Application domains” section.
1142
1143           Default: posix
1144
1145       min_id,max_id (integer)
1146           UID and GID limits for the domain. If a domain contains an entry
1147           that is outside these limits, it is ignored.
1148
1149           For users, this affects the primary GID limit. The user will not be
1150           returned to NSS if either the UID or the primary GID is outside the
1151           range. For non-primary group memberships, those that are in range
1152           will be reported as expected.
1153
1154           These ID limits affect even saving entries to cache, not only
1155           returning them by name or ID.
1156
1157           Default: 1 for min_id, 0 (no limit) for max_id
1158
1159       enumerate (bool)
1160           Determines if a domain can be enumerated, that is, whether the
1161           domain can list all the users and group it contains. Note that it
1162           is not required to enable enumeration in order for secondary groups
1163           to be displayed. This parameter can have one of the following
1164           values:
1165
1166           TRUE = Users and groups are enumerated
1167
1168           FALSE = No enumerations for this domain
1169
1170           Default: FALSE
1171
1172           Enumerating a domain requires SSSD to download and store ALL user
1173           and group entries from the remote server.
1174
1175           Note: Enabling enumeration has a moderate performance impact on
1176           SSSD while enumeration is running. It may take up to several
1177           minutes after SSSD startup to fully complete enumerations. During
1178           this time, individual requests for information will go directly to
1179           LDAP, though it may be slow, due to the heavy enumeration
1180           processing. Saving a large number of entries to cache after the
1181           enumeration completes might also be CPU intensive as the
1182           memberships have to be recomputed. This can lead to the “sssd_be”
1183           process becoming unresponsive or even restarted by the internal
1184           watchdog.
1185
1186           While the first enumeration is running, requests for the complete
1187           user or group lists may return no results until it completes.
1188
1189           Further, enabling enumeration may increase the time necessary to
1190           detect network disconnection, as longer timeouts are required to
1191           ensure that enumeration lookups are completed successfully. For
1192           more information, refer to the man pages for the specific
1193           id_provider in use.
1194
1195           For the reasons cited above, enabling enumeration is not
1196           recommended, especially in large environments.
1197
1198       subdomain_enumerate (string)
1199           Whether any of autodetected trusted domains should be enumerated.
1200           The supported values are:
1201
1202           all
1203               All discovered trusted domains will be enumerated
1204
1205           none
1206               No discovered trusted domains will be enumerated
1207
1208           Optionally, a list of one or more domain names can enable
1209           enumeration just for these trusted domains.
1210
1211           Default: none
1212
1213       entry_cache_timeout (integer)
1214           How many seconds should nss_sss consider entries valid before
1215           asking the backend again
1216
1217           The cache expiration timestamps are stored as attributes of
1218           individual objects in the cache. Therefore, changing the cache
1219           timeout only has effect for newly added or expired entries. You
1220           should run the sss_cache(8) tool in order to force refresh of
1221           entries that have already been cached.
1222
1223           Default: 5400
1224
1225       entry_cache_user_timeout (integer)
1226           How many seconds should nss_sss consider user entries valid before
1227           asking the backend again
1228
1229           Default: entry_cache_timeout
1230
1231       entry_cache_group_timeout (integer)
1232           How many seconds should nss_sss consider group entries valid before
1233           asking the backend again
1234
1235           Default: entry_cache_timeout
1236
1237       entry_cache_netgroup_timeout (integer)
1238           How many seconds should nss_sss consider netgroup entries valid
1239           before asking the backend again
1240
1241           Default: entry_cache_timeout
1242
1243       entry_cache_service_timeout (integer)
1244           How many seconds should nss_sss consider service entries valid
1245           before asking the backend again
1246
1247           Default: entry_cache_timeout
1248
1249       entry_cache_sudo_timeout (integer)
1250           How many seconds should sudo consider rules valid before asking the
1251           backend again
1252
1253           Default: entry_cache_timeout
1254
1255       entry_cache_autofs_timeout (integer)
1256           How many seconds should the autofs service consider automounter
1257           maps valid before asking the backend again
1258
1259           Default: entry_cache_timeout
1260
1261       entry_cache_ssh_host_timeout (integer)
1262           How many seconds to keep a host ssh key after refresh. IE how long
1263           to cache the host key for.
1264
1265           Default: entry_cache_timeout
1266
1267       refresh_expired_interval (integer)
1268           Specifies how many seconds SSSD has to wait before triggering a
1269           background refresh task which will refresh all expired or nearly
1270           expired records.
1271
1272           The background refresh will process users, groups and netgroups in
1273           the cache. For users who have performed the initgroups (get group
1274           membership for user, typically ran at login) operation in the past,
1275           both the user entry and the group membership are updated.
1276
1277           This option is automatically inherited for all trusted domains.
1278
1279           You can consider setting this value to 3/4 * entry_cache_timeout.
1280
1281           Default: 0 (disabled)
1282
1283       cache_credentials (bool)
1284           Determines if user credentials are also cached in the local LDB
1285           cache
1286
1287           User credentials are stored in a SHA512 hash, not in plaintext
1288
1289           Default: FALSE
1290
1291       cache_credentials_minimal_first_factor_length (int)
1292           If 2-Factor-Authentication (2FA) is used and credentials should be
1293           saved this value determines the minimal length the first
1294           authentication factor (long term password) must have to be saved as
1295           SHA512 hash into the cache.
1296
1297           This should avoid that the short PINs of a PIN based 2FA scheme are
1298           saved in the cache which would make them easy targets for
1299           brute-force attacks.
1300
1301           Default: 8
1302
1303       account_cache_expiration (integer)
1304           Number of days entries are left in cache after last successful
1305           login before being removed during a cleanup of the cache. 0 means
1306           keep forever. The value of this parameter must be greater than or
1307           equal to offline_credentials_expiration.
1308
1309           Default: 0 (unlimited)
1310
1311       pwd_expiration_warning (integer)
1312           Display a warning N days before the password expires.
1313
1314           If zero is set, then this filter is not applied, i.e. if the
1315           expiration warning was received from backend server, it will
1316           automatically be displayed.
1317
1318           Please note that the backend server has to provide information
1319           about the expiration time of the password. If this information is
1320           missing, sssd cannot display a warning. Also an auth provider has
1321           to be configured for the backend.
1322
1323           Default: 7 (Kerberos), 0 (LDAP)
1324
1325       id_provider (string)
1326           The identification provider used for the domain. Supported ID
1327           providers are:
1328
1329           “proxy”: Support a legacy NSS provider.
1330
1331           “files”: FILES provider. See sssd-files(5) for more information on
1332           how to mirror local users and groups into SSSD.
1333
1334           “ldap”: LDAP provider. See sssd-ldap(5) for more information on
1335           configuring LDAP.
1336
1337           “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1338           See sssd-ipa(5) for more information on configuring FreeIPA.
1339
1340           “ad”: Active Directory provider. See sssd-ad(5) for more
1341           information on configuring Active Directory.
1342
1343       use_fully_qualified_names (bool)
1344           Use the full name and domain (as formatted by the domain's
1345           full_name_format) as the user's login name reported to NSS.
1346
1347           If set to TRUE, all requests to this domain must use fully
1348           qualified names. For example, if used in LOCAL domain that contains
1349           a "test" user, getent passwd test wouldn't find the user while
1350           getent passwd test@LOCAL would.
1351
1352           NOTE: This option has no effect on netgroup lookups due to their
1353           tendency to include nested netgroups without qualified names. For
1354           netgroups, all domains will be searched when an unqualified name is
1355           requested.
1356
1357           Default: FALSE (TRUE if default_domain_suffix is used)
1358
1359       ignore_group_members (bool)
1360           Do not return group members for group lookups.
1361
1362           If set to TRUE, the group membership attribute is not requested
1363           from the ldap server, and group members are not returned when
1364           processing group lookup calls, such as getgrnam(3) or getgrgid(3).
1365           As an effect, “getent group $groupname” would return the requested
1366           group as if it was empty.
1367
1368           Enabling this option can also make access provider checks for group
1369           membership significantly faster, especially for groups containing
1370           many members.
1371
1372           Default: FALSE
1373
1374       auth_provider (string)
1375           The authentication provider used for the domain. Supported auth
1376           providers are:
1377
1378           “ldap” for native LDAP authentication. See sssd-ldap(5) for more
1379           information on configuring LDAP.
1380
1381           “krb5” for Kerberos authentication. See sssd-krb5(5) for more
1382           information on configuring Kerberos.
1383
1384           “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1385           See sssd-ipa(5) for more information on configuring FreeIPA.
1386
1387           “ad”: Active Directory provider. See sssd-ad(5) for more
1388           information on configuring Active Directory.
1389
1390           “proxy” for relaying authentication to some other PAM target.
1391
1392           “none” disables authentication explicitly.
1393
1394           Default: “id_provider” is used if it is set and can handle
1395           authentication requests.
1396
1397       access_provider (string)
1398           The access control provider used for the domain. There are two
1399           built-in access providers (in addition to any included in installed
1400           backends) Internal special providers are:
1401
1402           “permit” always allow access. It's the only permitted access
1403           provider for a local domain.
1404
1405           “deny” always deny access.
1406
1407           “ldap” for native LDAP authentication. See sssd-ldap(5) for more
1408           information on configuring LDAP.
1409
1410           “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1411           See sssd-ipa(5) for more information on configuring FreeIPA.
1412
1413           “ad”: Active Directory provider. See sssd-ad(5) for more
1414           information on configuring Active Directory.
1415
1416           “simple” access control based on access or deny lists. See sssd-
1417           simple(5) for more information on configuring the simple access
1418           module.
1419
1420           “krb5”: .k5login based access control. See sssd-krb5(5) for more
1421           information on configuring Kerberos.
1422
1423           “proxy” for relaying access control to another PAM module.
1424
1425           Default: “permit”
1426
1427       chpass_provider (string)
1428           The provider which should handle change password operations for the
1429           domain. Supported change password providers are:
1430
1431           “ldap” to change a password stored in a LDAP server. See sssd-
1432           ldap(5) for more information on configuring LDAP.
1433
1434           “krb5” to change the Kerberos password. See sssd-krb5(5) for more
1435           information on configuring Kerberos.
1436
1437           “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1438           See sssd-ipa(5) for more information on configuring FreeIPA.
1439
1440           “ad”: Active Directory provider. See sssd-ad(5) for more
1441           information on configuring Active Directory.
1442
1443           “proxy” for relaying password changes to some other PAM target.
1444
1445           “none” disallows password changes explicitly.
1446
1447           Default: “auth_provider” is used if it is set and can handle change
1448           password requests.
1449
1450       sudo_provider (string)
1451           The SUDO provider used for the domain. Supported SUDO providers
1452           are:
1453
1454           “ldap” for rules stored in LDAP. See sssd-ldap(5) for more
1455           information on configuring LDAP.
1456
1457           “ipa” the same as “ldap” but with IPA default settings.
1458
1459           “ad” the same as “ldap” but with AD default settings.
1460
1461           “none” disables SUDO explicitly.
1462
1463           Default: The value of “id_provider” is used if it is set.
1464
1465           The detailed instructions for configuration of sudo_provider are in
1466           the manual page sssd-sudo(5). There are many configuration options
1467           that can be used to adjust the behavior. Please refer to
1468           "ldap_sudo_*" in sssd-ldap(5).
1469
1470           NOTE: Sudo rules are periodically downloaded in the background
1471           unless the sudo provider is explicitly disabled. Set sudo_provider
1472           = None to disable all sudo-related activity in SSSD if you do not
1473           want to use sudo with SSSD at all.
1474
1475       selinux_provider (string)
1476           The provider which should handle loading of selinux settings. Note
1477           that this provider will be called right after access provider ends.
1478           Supported selinux providers are:
1479
1480           “ipa” to load selinux settings from an IPA server. See sssd-ipa(5)
1481           for more information on configuring IPA.
1482
1483           “none” disallows fetching selinux settings explicitly.
1484
1485           Default: “id_provider” is used if it is set and can handle selinux
1486           loading requests.
1487
1488       subdomains_provider (string)
1489           The provider which should handle fetching of subdomains. This value
1490           should be always the same as id_provider. Supported subdomain
1491           providers are:
1492
1493           “ipa” to load a list of subdomains from an IPA server. See sssd-
1494           ipa(5) for more information on configuring IPA.
1495
1496           “ad” to load a list of subdomains from an Active Directory server.
1497           See sssd-ad(5) for more information on configuring the AD provider.
1498
1499           “none” disallows fetching subdomains explicitly.
1500
1501           Default: The value of “id_provider” is used if it is set.
1502
1503       session_provider (string)
1504           The provider which configures and manages user session related
1505           tasks. The only user session task currently provided is the
1506           integration with Fleet Commander, which works only with IPA.
1507           Supported session providers are:
1508
1509           “ipa” to allow performing user session related tasks.
1510
1511           “none” does not perform any kind of user session related tasks.
1512
1513           Default: “id_provider” is used if it is set and can perform session
1514           related tasks.
1515
1516           NOTE: In order to have this feature working as expected SSSD must
1517           be running as "root" and not as the unprivileged user.
1518
1519       autofs_provider (string)
1520           The autofs provider used for the domain. Supported autofs providers
1521           are:
1522
1523           “ldap” to load maps stored in LDAP. See sssd-ldap(5) for more
1524           information on configuring LDAP.
1525
1526           “ipa” to load maps stored in an IPA server. See sssd-ipa(5) for
1527           more information on configuring IPA.
1528
1529           “ad” to load maps stored in an AD server. See sssd-ad(5) for more
1530           information on configuring the AD provider.
1531
1532           “none” disables autofs explicitly.
1533
1534           Default: The value of “id_provider” is used if it is set.
1535
1536       hostid_provider (string)
1537           The provider used for retrieving host identity information.
1538           Supported hostid providers are:
1539
1540           “ipa” to load host identity stored in an IPA server. See sssd-
1541           ipa(5) for more information on configuring IPA.
1542
1543           “none” disables hostid explicitly.
1544
1545           Default: The value of “id_provider” is used if it is set.
1546
1547       re_expression (string)
1548           Regular expression for this domain that describes how to parse the
1549           string containing user name and domain into these components. The
1550           "domain" can match either the SSSD configuration domain name, or,
1551           in the case of IPA trust subdomains and Active Directory domains,
1552           the flat (NetBIOS) name of the domain.
1553
1554           Default for the AD and IPA provider:
1555           “(((?P<domain>[^\\]+)\\(?P<name>.+$))|((?P<name>[^@]+)@(?P<domain>.+$))|(^(?P<name>[^@\\]+)$))”
1556           which allows three different styles for user names:
1557
1558           ·   username
1559
1560           ·   username@domain.name
1561
1562           ·   domain\username
1563
1564           While the first two correspond to the general default the third one
1565           is introduced to allow easy integration of users from Windows
1566           domains.
1567
1568           Default: “(?P<name>[^@]+)@?(?P<domain>[^@]*$)” which translates to
1569           "the name is everything up to the “@” sign, the domain everything
1570           after that"
1571
1572           NOTE: Some Active Directory groups, typically those used for MS
1573           Exchange contain an “@” sign in the name, which clashes with the
1574           default re_expression value for the AD and IPA providers. To
1575           support these groups, consider changing the re_expression value to:
1576           “((?P<name>.+)@(?P<domain>[^@]+$))”.
1577
1578       full_name_format (string)
1579           A printf(3)-compatible format that describes how to compose a fully
1580           qualified name from user name and domain name components.
1581
1582           The following expansions are supported:
1583
1584           %1$s
1585               user name
1586
1587           %2$s
1588               domain name as specified in the SSSD config file.
1589
1590           %3$s
1591               domain flat name. Mostly usable for Active Directory domains,
1592               both directly configured or discovered via IPA trusts.
1593
1594           Default: “%1$s@%2$s”.
1595
1596       lookup_family_order (string)
1597           Provides the ability to select preferred address family to use when
1598           performing DNS lookups.
1599
1600           Supported values:
1601
1602           ipv4_first: Try looking up IPv4 address, if that fails, try IPv6
1603
1604           ipv4_only: Only attempt to resolve hostnames to IPv4 addresses.
1605
1606           ipv6_first: Try looking up IPv6 address, if that fails, try IPv4
1607
1608           ipv6_only: Only attempt to resolve hostnames to IPv6 addresses.
1609
1610           Default: ipv4_first
1611
1612       dns_resolver_timeout (integer)
1613           Defines the amount of time (in seconds) to wait for a reply from
1614           the internal fail over service before assuming that the service is
1615           unreachable. If this timeout is reached, the domain will continue
1616           to operate in offline mode.
1617
1618           Please see the section “FAILOVER” for more information about the
1619           service resolution.
1620
1621           Default: 6
1622
1623       dns_discovery_domain (string)
1624           If service discovery is used in the back end, specifies the domain
1625           part of the service discovery DNS query.
1626
1627           Default: Use the domain part of machine's hostname
1628
1629       override_gid (integer)
1630           Override the primary GID value with the one specified.
1631
1632       case_sensitive (string)
1633           Treat user and group names as case sensitive. Possible option
1634           values are:
1635
1636           True
1637               Case sensitive. This value is invalid for AD provider.
1638
1639           False
1640               Case insensitive.
1641
1642           Preserving
1643               Same as False (case insensitive), but does not lowercase names
1644               in the result of NSS operations. Note that name aliases (and in
1645               case of services also protocol names) are still lowercased in
1646               the output.
1647
1648           Default: True (False for AD provider)
1649
1650       subdomain_inherit (string)
1651           Specifies a list of configuration parameters that should be
1652           inherited by a subdomain. Please note that only selected parameters
1653           can be inherited. Currently the following options can be inherited:
1654
1655           ignore_group_members
1656
1657           ldap_purge_cache_timeout
1658
1659           ldap_use_tokengroups
1660
1661           ldap_user_principal
1662
1663           ldap_krb5_keytab (the value of krb5_keytab will be used if
1664           ldap_krb5_keytab is not set explicitly)
1665
1666           Example:
1667
1668               subdomain_inherit = ldap_purge_cache_timeout
1669
1670
1671           Default: none
1672
1673           Note: This option only works with the IPA and AD provider.
1674
1675       subdomain_homedir (string)
1676           Use this homedir as default value for all subdomains within this
1677           domain in IPA AD trust. See override_homedir for info about
1678           possible values. In addition to those, the expansion below can only
1679           be used with subdomain_homedir.
1680
1681           %F
1682               flat (NetBIOS) name of a subdomain.
1683
1684           The value can be overridden by override_homedir option.
1685
1686           Default: /home/%d/%u
1687
1688       realmd_tags (string)
1689           Various tags stored by the realmd configuration service for this
1690           domain.
1691
1692       cached_auth_timeout (int)
1693           Specifies time in seconds since last successful online
1694           authentication for which user will be authenticated using cached
1695           credentials while SSSD is in the online mode. If the credentials
1696           are incorrect, SSSD falls back to online authentication.
1697
1698           This option's value is inherited by all trusted domains. At the
1699           moment it is not possible to set a different value per trusted
1700           domain.
1701
1702           Special value 0 implies that this feature is disabled.
1703
1704           Please note that if “cached_auth_timeout” is longer than
1705           “pam_id_timeout” then the back end could be called to handle
1706           “initgroups.”
1707
1708           Default: 0
1709
1710       auto_private_groups (string)
1711           This option takes any of three available values:
1712
1713           true
1714               Create user's private group unconditionally from user's UID
1715               number. The GID number is ignored in this case.
1716
1717               NOTE: Because the GID number and the user private group are
1718               inferred from the UID number, it is not supported to have
1719               multiple entries with the same UID or GID number with this
1720               option. In other words, enabling this option enforces
1721               uniqueness across the ID space.
1722
1723           false
1724               Always use the user's primary GID number. The GID number must
1725               refer to a group object in the LDAP database.
1726
1727           hybrid
1728               A primary group is autogenerated for user entries whose UID and
1729               GID numbers have the same value and at the same time the GID
1730               number does not correspond to a real group object in LDAP. If
1731               the values are the same, but the primary GID in the user entry
1732               is also used by a group object, the primary GID of the user
1733               resolves to that group object.
1734
1735               If the UID and GID of a user are different, then the GID must
1736               correspond to a group entry, otherwise the GID is simply not
1737               resolvable.
1738
1739               This feature is useful for environments that wish to stop
1740               maintaining a separate group objects for the user private
1741               groups, but also wish to retain the existing user private
1742               groups.
1743
1744           For subdomains, the default value is False for subdomains that use
1745           assigned POSIX IDs and True for subdomains that use automatic
1746           ID-mapping.
1747
1748           The value of auto_private_groups can either be set per subdomains
1749           in a subsection, for example:
1750
1751               [domain/forest.domain/sub.domain]
1752               auto_private_groups = false
1753
1754           or globally for all subdomains in the main domain section using the
1755           subdomain_inherit option:
1756
1757               [domain/forest.domain]
1758               subdomain_inherit = auto_private_groups
1759               auto_private_groups = false
1760
1761
1762       Options valid for proxy domains.
1763
1764       proxy_pam_target (string)
1765           The proxy target PAM proxies to.
1766
1767           Default: not set by default, you have to take an existing pam
1768           configuration or create a new one and add the service name here.
1769
1770       proxy_lib_name (string)
1771           The name of the NSS library to use in proxy domains. The NSS
1772           functions searched for in the library are in the form of
1773           _nss_$(libName)_$(function), for example _nss_files_getpwent.
1774
1775       proxy_fast_alias (boolean)
1776           When a user or group is looked up by name in the proxy provider, a
1777           second lookup by ID is performed to "canonicalize" the name in case
1778           the requested name was an alias. Setting this option to true would
1779           cause the SSSD to perform the ID lookup from cache for performance
1780           reasons.
1781
1782           Default: false
1783
1784       proxy_max_children (integer)
1785           This option specifies the number of pre-forked proxy children. It
1786           is useful for high-load SSSD environments where sssd may run out of
1787           available child slots, which would cause some issues due to the
1788           requests being queued.
1789
1790           Default: 10
1791
1792   Application domains
1793       SSSD, with its D-Bus interface (see sssd-ifp(5)) is appealing to
1794       applications as a gateway to an LDAP directory where users and groups
1795       are stored. However, contrary to the traditional SSSD deployment where
1796       all users and groups either have POSIX attributes or those attributes
1797       can be inferred from the Windows SIDs, in many cases the users and
1798       groups in the application support scenario have no POSIX attributes.
1799       Instead of setting a “[domain/NAME]” section, the administrator can set
1800       up an “[application/NAME]” section that internally represents a domain
1801       with type “application” optionally inherits settings from a tradition
1802       SSSD domain.
1803
1804       Please note that the application domain must still be explicitly
1805       enabled in the “domains” parameter so that the lookup order between the
1806       application domain and its POSIX sibling domain is set correctly.
1807
1808       Application domain parameters
1809
1810       inherit_from (string)
1811           The SSSD POSIX-type domain the application domain inherits all
1812           settings from. The application domain can moreover add its own
1813           settings to the application settings that augment or override the
1814           “sibling” domain settings.
1815
1816           Default: Not set
1817
1818       The following example illustrates the use of an application domain. In
1819       this setup, the POSIX domain is connected to an LDAP server and is used
1820       by the OS through the NSS responder. In addition, the application
1821       domain also requests the telephoneNumber attribute, stores it as the
1822       phone attribute in the cache and makes the phone attribute reachable
1823       through the D-Bus interface.
1824
1825           [sssd]
1826           domains = appdom, posixdom
1827
1828           [ifp]
1829           user_attributes = +phone
1830
1831           [domain/posixdom]
1832           id_provider = ldap
1833           ldap_uri = ldap://ldap.example.com
1834           ldap_search_base = dc=example,dc=com
1835
1836           [application/appdom]
1837           inherit_from = posixdom
1838           ldap_user_extra_attrs = phone:telephoneNumber
1839

TRUSTED DOMAIN SECTION

1841       Some options used in the domain section can also be used in the trusted
1842       domain section, that is, in a section called
1843       “[domain/DOMAIN_NAME/TRUSTED_DOMAIN_NAME]”. Where DOMAIN_NAME is the
1844       actual joined-to base domain. Please refer to examples below for
1845       explanation. Currently supported options in the trusted domain section
1846       are:
1847
1848       ldap_search_base,
1849
1850       ldap_user_search_base,
1851
1852       ldap_group_search_base,
1853
1854       ldap_netgroup_search_base,
1855
1856       ldap_service_search_base,
1857
1858       ldap_sasl_mech,
1859
1860       ad_server,
1861
1862       ad_backup_server,
1863
1864       ad_site,
1865
1866       use_fully_qualified_names
1867
1868       For more details about these options see their individual description
1869       in the manual page.
1870

CERTIFICATE MAPPING SECTION

1872       To allow authentication with Smartcards and certificates SSSD must be
1873       able to map certificates to users. This can be done by adding the full
1874       certificate to the LDAP object of the user or to a local override.
1875       While using the full certificate is required to use the Smartcard
1876       authentication feature of SSH (see sss_ssh_authorizedkeys(8) for
1877       details) it might be cumbersome or not even possible to do this for the
1878       general case where local services use PAM for authentication.
1879
1880       To make the mapping more flexible mapping and matching rules were added
1881       to SSSD (see sss-certmap(5) for details).
1882
1883       A mapping and matching rule can be added to the SSSD configuration in a
1884       section on its own with a name like “[certmap/DOMAIN_NAME/RULE_NAME]”.
1885       In this section the following options are allowed:
1886
1887       matchrule (string)
1888           Only certificates from the Smartcard which matches this rule will
1889           be processed, all others are ignored.
1890
1891           Default: KRB5:<EKU>clientAuth, i.e. only certificates which have
1892           the Extended Key Usage “clientAuth”
1893
1894       maprule (string)
1895           Defines how the user is found for a given certificate.
1896
1897           Default:
1898
1899           ·   LDAP:(userCertificate;binary={cert!bin}) for LDAP based
1900               providers like “ldap”, “AD” or “ipa”.
1901
1902           ·   The RULE_NAME for the “files” provider which tries to find a
1903               user with the same name.
1904
1905
1906       domains (string)
1907           Comma separated list of domain names the rule should be applied. By
1908           default a rule is only valid in the domain configured in sssd.conf.
1909           If the provider supports subdomains this option can be used to add
1910           the rule to subdomains as well.
1911
1912           Default: the configured domain in sssd.conf
1913
1914       priority (integer)
1915           Unsigned integer value defining the priority of the rule. The
1916           higher the number the lower the priority.  “0” stands for the
1917           highest priority while “4294967295” is the lowest.
1918
1919           Default: the lowest priority
1920
1921       To make the configuration simple and reduce the amount of configuration
1922       options the “files” provider has some special properties:
1923
1924       ·   if maprule is not set the RULE_NAME name is assumed to be the name
1925           of the matching user
1926
1927       ·   if a maprule is used both a single user name or a template like
1928           “{subject_rfc822_name.short_name}” must be in braces like e.g.
1929           “(username)” or “({subject_rfc822_name.short_name})”
1930
1931       ·   the “domains” option is ignored
1932
1933

PROMPTING CONFIGURATION SECTION

1935       If a special file (/var/lib/sss/pubconf/pam_preauth_available) exists
1936       SSSD's PAM module pam_sss will ask SSSD to figure out which
1937       authentication methods are available for the user trying to log in.
1938       Based on the results pam_sss will prompt the user for appropriate
1939       credentials.
1940
1941       With the growing number of authentication methods and the possibility
1942       that there are multiple ones for a single user the heuristic used by
1943       pam_sss to select the prompting might not be suitable for all use
1944       cases. The following options should provide a better flexibility here.
1945
1946       Each supported authentication method has its own configuration
1947       subsection under “[prompting/...]”. Currently there are:
1948
1949       [prompting/password]
1950           to configure password prompting, allowed options are:
1951
1952           password_prompt
1953               to change the string of the password prompt
1954
1955
1956       [prompting/2fa]
1957           to configure two-factor authentication prompting, allowed options
1958           are:
1959
1960           first_prompt
1961               to change the string of the prompt for the first factor
1962
1963           second_prompt
1964               to change the string of the prompt for the second factor
1965
1966           single_prompt
1967               boolean value, if True there will be only a single prompt using
1968               the value of first_prompt where it is expected that both
1969               factors are entered as a single string
1970
1971
1972       It is possible to add a subsection for specific PAM services, e.g.
1973       “[prompting/password/sshd]” to individual change the prompting for this
1974       service.
1975

EXAMPLES

1977       1. The following example shows a typical SSSD config. It does not
1978       describe configuration of the domains themselves - refer to
1979       documentation on configuring domains for more details.
1980
1981           [sssd]
1982           domains = LDAP
1983           services = nss, pam
1984           config_file_version = 2
1985
1986           [nss]
1987           filter_groups = root
1988           filter_users = root
1989
1990           [pam]
1991
1992           [domain/LDAP]
1993           id_provider = ldap
1994           ldap_uri = ldap://ldap.example.com
1995           ldap_search_base = dc=example,dc=com
1996
1997           auth_provider = krb5
1998           krb5_server = kerberos.example.com
1999           krb5_realm = EXAMPLE.COM
2000           cache_credentials = true
2001
2002           min_id = 10000
2003           max_id = 20000
2004           enumerate = False
2005
2006       2. The following example shows configuration of IPA AD trust where the
2007       AD forest consists of two domains in a parent-child structure. Suppose
2008       IPA domain (ipa.com) has trust with AD domain(ad.com). ad.com has child
2009       domain (child.ad.com). To enable shortnames in the child domain the
2010       following configuration should be used.
2011
2012           [domain/ipa.com/child.ad.com]
2013           use_fully_qualified_names = false
2014
2015       3. The following example shows the configuration for two certificate
2016       mapping rules. The first is valid for the configured domain “my.domain”
2017       and additionally for the subdomains “your.domain” and uses the full
2018       certificate in the search filter. The second example is valid for the
2019       domain “files” where it is assumed the files provider is used for this
2020       domain and contains a matching rule for the local user “myname”.
2021
2022           [certmap/my.domain/rule_name]
2023           matchrule = <ISSUER>^CN=My-CA,DC=MY,DC=DOMAIN$
2024           maprule = (userCertificate;binary={cert!bin})
2025           domains = my.domain, your.domain
2026           priority = 10
2027
2028           [certmap/files/myname]
2029           matchrule = <ISSUER>^CN=My-CA,DC=MY,DC=DOMAIN$<SUBJECT>^CN=User.Name,DC=MY,DC=DOMAIN$
2030
2031

SEE ALSO

2033       sssd(8), sssd.conf(5), sssd-ldap(5), sssd-krb5(5), sssd-simple(5),
2034       sssd-ipa(5), sssd-ad(5), sssd-files(5), sssd-sudo(5), sssd-session-
2035       recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8),
2036       sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8),
2037       sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8).  sss_rpcidmapd(5)
2038       sssd-systemtap(5)
2039

AUTHORS

2041       The SSSD upstream - https://pagure.io/SSSD/sssd/
2042
2043
2044
2045SSSD                              02/26/2020                      SSSD.CONF(5)
Impressum