1SSSD.CONF(5) File Formats and Conventions SSSD.CONF(5)
2
3
4
6 sssd.conf - the configuration file for SSSD
7
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
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
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 9, 0x20000: Performance and statistical data, please note that due
102 to the way requests are processed internally the logged execution
103 time of a request might be longer than it actually was.
104
105 10, 0x10000: Even more low-level libldb tracing information. Almost
106 never really required.
107
108 To log required bitmask debug levels, simply add their numbers
109 together as shown in following examples:
110
111 Example: To log fatal failures, critical failures, serious failures
112 and function data use 0x0270.
113
114 Example: To log fatal failures, configuration settings, function
115 data, trace messages for internal control functions use 0x1310.
116
117 Note: The bitmask format of debug levels was introduced in 1.7.0.
118
119 Default: 0x0070 (i.e. fatal, critical and serious failures;
120 corresponds to setting 2 in decimal notation)
121
122 debug (integer)
123 SSSD 1.14 and later also includes the debug alias for debug_level
124 as a convenience feature. If both are specified, the value of
125 debug_level will be used.
126
127 debug_timestamps (bool)
128 Add a timestamp to the debug messages. If journald is enabled for
129 SSSD debug logging this option is ignored.
130
131 Default: true
132
133 debug_microseconds (bool)
134 Add microseconds to the timestamp in debug messages. If journald is
135 enabled for SSSD debug logging this option is ignored.
136
137 Default: false
138
139 debug_backtrace_enabled (bool)
140 Enable debug backtrace.
141
142 In case SSSD is run with debug_level less than 9, everything is
143 logged to a ring buffer in memory and flushed to a log file on any
144 error up to and including `min(0x0040, debug_level)` (i.e. if
145 debug_level is explicitly set to 0 or 1 then only those error
146 levels will trigger backtrace, otherwise up to 2).
147
148 Feature is only supported for `logger == files` (i.e. setting
149 doesn't have effect for other logger types).
150
151 Default: true
152
153 Options usable in SERVICE and DOMAIN sections
154 timeout (integer)
155 Timeout in seconds between heartbeats for this service. This is
156 used to ensure that the process is alive and capable of answering
157 requests. Note that after three missed heartbeats the process will
158 terminate itself.
159
160 Default: 10
161
163 The [sssd] section
164 Individual pieces of SSSD functionality are provided by special SSSD
165 services that are started and stopped together with SSSD. The services
166 are managed by a special service frequently called “monitor”. The
167 “[sssd]” section is used to configure the monitor as well as some other
168 important options like the identity domains.
169
170 Section parameters
171
172 config_file_version (integer)
173 Indicates what is the syntax of the config file. SSSD 0.6.0 and
174 later use version 2.
175
176 services
177 Comma separated list of services that are started when sssd itself
178 starts. The services' list is optional on platforms where systemd
179 is supported, as they will either be socket or D-Bus activated when
180 needed.
181
182 Supported services: nss, pam , sudo , autofs , ssh , pac , ifp
183
184 By default, all services are disabled and the administrator must
185 enable the ones allowed to be used by executing: "systemctl enable
186 sssd-@service@.socket".
187
188 reconnection_retries (integer)
189 Number of times services should attempt to reconnect in the event
190 of a Data Provider crash or restart before they give up
191
192 Default: 3
193
194 domains
195 A domain is a database containing user information. SSSD can use
196 more domains at the same time, but at least one must be configured
197 or SSSD won't start. This parameter describes the list of domains
198 in the order you want them to be queried. A domain name is
199 recommended to contain only alphanumeric ASCII characters, dashes,
200 dots and underscores. '/' character is forbidden.
201
202 re_expression (string)
203 Default regular expression that describes how to parse the string
204 containing user name and domain into these components.
205
206 Each domain can have an individual regular expression configured.
207 For some ID providers there are also default regular expressions.
208 See DOMAIN SECTIONS for more info on these regular expressions.
209
210 full_name_format (string)
211 A printf(3)-compatible format that describes how to compose a fully
212 qualified name from user name and domain name components.
213
214 The following expansions are supported:
215
216 %1$s
217 user name
218
219 %2$s
220 domain name as specified in the SSSD config file.
221
222 %3$s
223 domain flat name. Mostly usable for Active Directory domains,
224 both directly configured or discovered via IPA trusts.
225
226 Each domain can have an individual format string configured. See
227 DOMAIN SECTIONS for more info on this option.
228
229 monitor_resolv_conf (boolean)
230 Controls if SSSD should monitor the state of resolv.conf to
231 identify when it needs to update its internal DNS resolver.
232
233 Default: true
234
235 try_inotify (boolean)
236 By default, SSSD will attempt to use inotify to monitor
237 configuration files changes and will fall back to polling every
238 five seconds if inotify cannot be used.
239
240 There are some limited situations where it is preferred that we
241 should skip even trying to use inotify. In these rare cases, this
242 option should be set to 'false'
243
244 Default: true on platforms where inotify is supported. False on
245 other platforms.
246
247 Note: this option will have no effect on platforms where inotify is
248 unavailable. On these platforms, polling will always be used.
249
250 krb5_rcache_dir (string)
251 Directory on the filesystem where SSSD should store Kerberos replay
252 cache files.
253
254 This option accepts a special value __LIBKRB5_DEFAULTS__ that will
255 instruct SSSD to let libkrb5 decide the appropriate location for
256 the replay cache.
257
258 Default: Distribution-specific and specified at build-time.
259 (__LIBKRB5_DEFAULTS__ if not configured)
260
261 default_domain_suffix (string)
262 This string will be used as a default domain name for all names
263 without a domain name component. The main use case is environments
264 where the primary domain is intended for managing host policies and
265 all users are located in a trusted domain. The option allows those
266 users to log in just with their user name without giving a domain
267 name as well.
268
269 Please note that if this option is set all users from the primary
270 domain have to use their fully qualified name, e.g.
271 user@domain.name, to log in. Setting this option changes default of
272 use_fully_qualified_names to True. It is not allowed to use this
273 option together with use_fully_qualified_names set to False. One
274 exception from this rule are domains with “id_provider=files” that
275 always try to match the behaviour of nss_files and therefore their
276 output is not qualified even when the default_domain_suffix option
277 is used.
278
279 Default: not set
280
281 override_space (string)
282 This parameter will replace spaces (space bar) with the given
283 character for user and group names. e.g. (_). User name "john doe"
284 will be "john_doe" This feature was added to help compatibility
285 with shell scripts that have difficulty handling spaces, due to the
286 default field separator in the shell.
287
288 Please note it is a configuration error to use a replacement
289 character that might be used in user or group names. If a name
290 contains the replacement character SSSD tries to return the
291 unmodified name but in general the result of a lookup is undefined.
292
293 Default: not set (spaces will not be replaced)
294
295 certificate_verification (string)
296 With this parameter the certificate verification can be tuned with
297 a comma separated list of options. Supported options are:
298
299 no_ocsp
300 Disables Online Certificate Status Protocol (OCSP) checks. This
301 might be needed if the OCSP servers defined in the certificate
302 are not reachable from the client.
303
304 soft_ocsp
305 If a connection cannot be established to an OCSP responder the
306 OCSP check is skipped. This option should be used to allow
307 authentication when the system is offline and the OCSP
308 responder cannot be reached.
309
310 ocsp_dgst
311 Digest (hash) function used to create the certificate ID for
312 the OCSP request. Allowed values are:
313
314 • sha1
315
316 • sha256
317
318 • sha384
319
320 • sha512
321
322 Default: sha1 (to allow compatibility with RFC5019-compliant
323 responder)
324
325 no_verification
326 Disables verification completely. This option should only be
327 used for testing.
328
329 partial_chain
330 Allow verification to succeed even if a complete chain cannot
331 be built to a self-signed trust-anchor, provided it is possible
332 to construct a chain to a trusted certificate that might not be
333 self-signed.
334
335 ocsp_default_responder=URL
336 Sets the OCSP default responder which should be used instead of
337 the one mentioned in the certificate. URL must be replaced with
338 the URL of the OCSP default responder e.g.
339 http://example.com:80/ocsp.
340
341 ocsp_default_responder_signing_cert=NAME
342 This option is currently ignored. All needed certificates must
343 be available in the PEM file given by pam_cert_db_path.
344
345 crl_file=/PATH/TO/CRL/FILE
346 Use the Certificate Revocation List (CRL) from the given file
347 during the verification of the certificate. The CRL must be
348 given in PEM format, see crl(1ssl) for details.
349
350 soft_crl
351 If a Certificate Revocation List (CRL) is expired ignore the
352 CRL checks for the related certificates. This option should be
353 used to allow authentication when the system is offline and the
354 CRL cannot be renewed.
355
356 Unknown options are reported but ignored.
357
358 Default: not set, i.e. do not restrict certificate verification
359
360 disable_netlink (boolean)
361 SSSD hooks into the netlink interface to monitor changes to routes,
362 addresses, links and trigger certain actions.
363
364 The SSSD state changes caused by netlink events may be undesirable
365 and can be disabled by setting this option to 'true'
366
367 Default: false (netlink changes are detected)
368
369 enable_files_domain (boolean)
370 When this option is enabled, SSSD prepends an implicit domain with
371 “id_provider=files” before any explicitly configured domains.
372
373 Default: false
374
375 domain_resolution_order
376 Comma separated list of domains and subdomains representing the
377 lookup order that will be followed. The list doesn't have to
378 include all possible domains as the missing domains will be looked
379 up based on the order they're presented in the “domains”
380 configuration option. The subdomains which are not listed as part
381 of “lookup_order” will be looked up in a random order for each
382 parent domain.
383
384 Please, note that when this option is set the output format of all
385 commands is always fully-qualified even when using short names for
386 input , for all users but the ones managed by the files provider.
387 In case the administrator wants the output not fully-qualified, the
388 full_name_format option can be used as shown below:
389 “full_name_format=%1$s” However, keep in mind that during login,
390 login applications often canonicalize the username by calling
391 getpwnam(3) which, if a shortname is returned for a qualified input
392 (while trying to reach a user which exists in multiple domains)
393 might re-route the login attempt into the domain which uses
394 shortnames, making this workaround totally not recommended in cases
395 where usernames may overlap between domains.
396
397 Default: Not set
398
399 implicit_pac_responder (boolean)
400 The PAC responder is enabled automatically for the IPA and AD
401 provider to evaluate and check the PAC. If it has to be disabled
402 set this option to 'false'.
403
404 Default: true
405
406 core_dumpable (boolean)
407 This option can be used for general system hardening: setting it to
408 'false' forbids core dumps for all SSSD processes to avoid leaking
409 plain text passwords. See man page prctl:PR_SET_DUMPABLE for
410 details.
411
412 Default: true
413
415 Settings that can be used to configure different services are described
416 in this section. They should reside in the [$NAME] section, for
417 example, for NSS service, the section would be “[nss]”
418
419 General service configuration options
420 These options can be used to configure any service.
421
422 reconnection_retries (integer)
423 Number of times services should attempt to reconnect in the event
424 of a Data Provider crash or restart before they give up
425
426 Default: 3
427
428 fd_limit
429 This option specifies the maximum number of file descriptors that
430 may be opened at one time by this SSSD process. On systems where
431 SSSD is granted the CAP_SYS_RESOURCE capability, this will be an
432 absolute setting. On systems without this capability, the resulting
433 value will be the lower value of this or the limits.conf "hard"
434 limit.
435
436 Default: 8192 (or limits.conf "hard" limit)
437
438 client_idle_timeout
439 This option specifies the number of seconds that a client of an
440 SSSD process can hold onto a file descriptor without communicating
441 on it. This value is limited in order to avoid resource exhaustion
442 on the system. The timeout can't be shorter than 10 seconds. If a
443 lower value is configured, it will be adjusted to 10 seconds.
444
445 Default: 60, KCM: 300
446
447 offline_timeout (integer)
448 When SSSD switches to offline mode the amount of time before it
449 tries to go back online will increase based upon the time spent
450 disconnected. By default SSSD uses incremental behaviour to
451 calculate delay in between retries. So, the wait time for a given
452 retry will be longer than the wait time for the previous ones.
453 After each unsuccessful attempt to go online, the new interval is
454 recalculated by the following:
455
456 new_delay = Minimum(old_delay * 2, offline_timeout_max) +
457 random[0...offline_timeout_random_offset]
458
459 The offline_timeout default value is 60. The offline_timeout_max
460 default value is 3600. The offline_timeout_random_offset default
461 value is 30. The end result is amount of seconds before next retry.
462
463 Note that the maximum length of each interval is defined by
464 offline_timeout_max (apart of random part).
465
466 Default: 60
467
468 offline_timeout_max (integer)
469 Controls by how much the time between attempts to go online can be
470 incremented following unsuccessful attempts to go online.
471
472 A value of 0 disables the incrementing behaviour.
473
474 The value of this parameter should be set in correlation to
475 offline_timeout parameter value.
476
477 With offline_timeout set to 60 (default value) there is no point in
478 setting offlinet_timeout_max to less than 120 as it will saturate
479 instantly. General rule here should be to set offline_timeout_max
480 to at least 4 times offline_timeout.
481
482 Although a value between 0 and offline_timeout may be specified, it
483 has the effect of overriding the offline_timeout value so is of
484 little use.
485
486 Default: 3600
487
488 offline_timeout_random_offset (integer)
489 When SSSD is in offline mode it keeps probing backend servers in
490 specified time intervals:
491
492 new_delay = Minimum(old_delay * 2, offline_timeout_max) +
493 random[0...offline_timeout_random_offset]
494
495 This parameter controls the value of the random offset used for the
496 above equation. Final random_offset value will be random number in
497 range:
498
499 [0 - offline_timeout_random_offset]
500
501 A value of 0 disables the random offset addition.
502
503 Default: 30
504
505 responder_idle_timeout
506 This option specifies the number of seconds that an SSSD responder
507 process can be up without being used. This value is limited in
508 order to avoid resource exhaustion on the system. The minimum
509 acceptable value for this option is 60 seconds. Setting this option
510 to 0 (zero) means that no timeout will be set up to the responder.
511 This option only has effect when SSSD is built with systemd support
512 and when services are either socket or D-Bus activated.
513
514 Default: 300
515
516 cache_first
517 This option specifies whether the responder should query all caches
518 before querying the Data Providers.
519
520 Default: false
521
522 NSS configuration options
523 These options can be used to configure the Name Service Switch (NSS)
524 service.
525
526 enum_cache_timeout (integer)
527 How many seconds should nss_sss cache enumerations (requests for
528 info about all users)
529
530 Default: 120
531
532 entry_cache_nowait_percentage (integer)
533 The entry cache can be set to automatically update entries in the
534 background if they are requested beyond a percentage of the
535 entry_cache_timeout value for the domain.
536
537 For example, if the domain's entry_cache_timeout is set to 30s and
538 entry_cache_nowait_percentage is set to 50 (percent), entries that
539 come in after 15 seconds past the last cache update will be
540 returned immediately, but the SSSD will go and update the cache on
541 its own, so that future requests will not need to block waiting for
542 a cache update.
543
544 Valid values for this option are 0-99 and represent a percentage of
545 the entry_cache_timeout for each domain. For performance reasons,
546 this percentage will never reduce the nowait timeout to less than
547 10 seconds. (0 disables this feature)
548
549 Default: 50
550
551 entry_negative_timeout (integer)
552 Specifies for how many seconds nss_sss should cache negative cache
553 hits (that is, queries for invalid database entries, like
554 nonexistent ones) before asking the back end again.
555
556 Default: 15
557
558 local_negative_timeout (integer)
559 Specifies for how many seconds nss_sss should keep local users and
560 groups in negative cache before trying to look it up in the back
561 end again. Setting the option to 0 disables this feature.
562
563 Default: 14400 (4 hours)
564
565 filter_users, filter_groups (string)
566 Exclude certain users or groups from being fetched from the sss NSS
567 database. This is particularly useful for system accounts. This
568 option can also be set per-domain or include fully-qualified names
569 to filter only users from the particular domain or by a user
570 principal name (UPN).
571
572 NOTE: The filter_groups option doesn't affect inheritance of nested
573 group members, since filtering happens after they are propagated
574 for returning via NSS. E.g. a group having a member group filtered
575 out will still have the member users of the latter listed.
576
577 Default: root
578
579 filter_users_in_groups (bool)
580 If you want filtered user still be group members set this option to
581 false.
582
583 Default: true
584
585 override_homedir (string)
586 Override the user's home directory. You can either provide an
587 absolute value or a template. In the template, the following
588 sequences are substituted:
589
590 %u
591 login name
592
593 %U
594 UID number
595
596 %d
597 domain name
598
599 %f
600 fully qualified user name (user@domain)
601
602 %l
603 The first letter of the login name.
604
605 %P
606 UPN - User Principal Name (name@REALM)
607
608 %o
609 The original home directory retrieved from the identity
610 provider.
611
612 %h
613 The original home directory retrieved from the identity
614 provider, but in lower case.
615
616 %H
617 The value of configure option homedir_substring.
618
619 %%
620 a literal '%'
621
622 This option can also be set per-domain.
623
624 example:
625
626 override_homedir = /home/%u
627
628
629 Default: Not set (SSSD will use the value retrieved from LDAP)
630
631 Please note, the home directory from a specific override for the
632 user, either locally (see sss_override(8)) or centrally managed IPA
633 id-overrides, has a higher precedence and will be used instead of
634 the value given by override_homedir.
635
636 homedir_substring (string)
637 The value of this option will be used in the expansion of the
638 override_homedir option if the template contains the format string
639 %H. An LDAP directory entry can directly contain this template so
640 that this option can be used to expand the home directory path for
641 each client machine (or operating system). It can be set per-domain
642 or globally in the [nss] section. A value specified in a domain
643 section will override one set in the [nss] section.
644
645 Default: /home
646
647 fallback_homedir (string)
648 Set a default template for a user's home directory if one is not
649 specified explicitly by the domain's data provider.
650
651 The available values for this option are the same as for
652 override_homedir.
653
654 example:
655
656 fallback_homedir = /home/%u
657
658
659 Default: not set (no substitution for unset home directories)
660
661 override_shell (string)
662 Override the login shell for all users. This option supersedes any
663 other shell options if it takes effect and can be set either in the
664 [nss] section or per-domain.
665
666 Default: not set (SSSD will use the value retrieved from LDAP)
667
668 allowed_shells (string)
669 Restrict user shell to one of the listed values. The order of
670 evaluation is:
671
672 1. If the shell is present in “/etc/shells”, it is used.
673
674 2. If the shell is in the allowed_shells list but not in
675 “/etc/shells”, use the value of the shell_fallback parameter.
676
677 3. If the shell is not in the allowed_shells list and not in
678 “/etc/shells”, a nologin shell is used.
679
680 The wildcard (*) can be used to allow any shell.
681
682 The (*) is useful if you want to use shell_fallback in case that
683 user's shell is not in “/etc/shells” and maintaining list of all
684 allowed shells in allowed_shells would be to much overhead.
685
686 An empty string for shell is passed as-is to libc.
687
688 The “/etc/shells” is only read on SSSD start up, which means that a
689 restart of the SSSD is required in case a new shell is installed.
690
691 Default: Not set. The user shell is automatically used.
692
693 vetoed_shells (string)
694 Replace any instance of these shells with the shell_fallback
695
696 shell_fallback (string)
697 The default shell to use if an allowed shell is not installed on
698 the machine.
699
700 Default: /bin/sh
701
702 default_shell
703 The default shell to use if the provider does not return one during
704 lookup. This option can be specified globally in the [nss] section
705 or per-domain.
706
707 Default: not set (Return NULL if no shell is specified and rely on
708 libc to substitute something sensible when necessary, usually
709 /bin/sh)
710
711 get_domains_timeout (int)
712 Specifies time in seconds for which the list of subdomains will be
713 considered valid.
714
715 Default: 60
716
717 memcache_timeout (integer)
718 Specifies time in seconds for which records in the in-memory cache
719 will be valid. Setting this option to zero will disable the
720 in-memory cache.
721
722 Default: 300
723
724 WARNING: Disabling the in-memory cache will have significant
725 negative impact on SSSD's performance and should only be used for
726 testing.
727
728 NOTE: If the environment variable SSS_NSS_USE_MEMCACHE is set to
729 "NO", client applications will not use the fast in-memory cache.
730
731 memcache_size_passwd (integer)
732 Size (in megabytes) of the data table allocated inside fast
733 in-memory cache for passwd requests. Setting the size to 0 will
734 disable the passwd in-memory cache.
735
736 Default: 8
737
738 WARNING: Disabled or too small in-memory cache can have significant
739 negative impact on SSSD's performance.
740
741 NOTE: If the environment variable SSS_NSS_USE_MEMCACHE is set to
742 "NO", client applications will not use the fast in-memory cache.
743
744 memcache_size_group (integer)
745 Size (in megabytes) of the data table allocated inside fast
746 in-memory cache for group requests. Setting the size to 0 will
747 disable the group in-memory cache.
748
749 Default: 6
750
751 WARNING: Disabled or too small in-memory cache can have significant
752 negative impact on SSSD's performance.
753
754 NOTE: If the environment variable SSS_NSS_USE_MEMCACHE is set to
755 "NO", client applications will not use the fast in-memory cache.
756
757 memcache_size_initgroups (integer)
758 Size (in megabytes) of the data table allocated inside fast
759 in-memory cache for initgroups requests. Setting the size to 0 will
760 disable the initgroups in-memory cache.
761
762 Default: 10
763
764 WARNING: Disabled or too small in-memory cache can have significant
765 negative impact on SSSD's performance.
766
767 NOTE: If the environment variable SSS_NSS_USE_MEMCACHE is set to
768 "NO", client applications will not use the fast in-memory cache.
769
770 memcache_size_sid (integer)
771 Size (in megabytes) of the data table allocated inside fast
772 in-memory cache for SID related requests. Only SID-by-ID and
773 ID-by-SID requests are currently cached in fast in-memory cache.
774 Setting the size to 0 will disable the SID in-memory cache.
775
776 Default: 6
777
778 WARNING: Disabled or too small in-memory cache can have significant
779 negative impact on SSSD's performance.
780
781 NOTE: If the environment variable SSS_NSS_USE_MEMCACHE is set to
782 "NO", client applications will not use the fast in-memory cache.
783
784 user_attributes (string)
785 Some of the additional NSS responder requests can return more
786 attributes than just the POSIX ones defined by the NSS interface.
787 The list of attributes is controlled by this option. It is handled
788 the same way as the “user_attributes” option of the InfoPipe
789 responder (see sssd-ifp(5) for details) but with no default values.
790
791 To make configuration more easy the NSS responder will check the
792 InfoPipe option if it is not set for the NSS responder.
793
794 Default: not set, fallback to InfoPipe option
795
796 pwfield (string)
797 The value that NSS operations that return users or groups will
798 return for the “password” field.
799
800 Default: “*”
801
802 Note: This option can also be set per-domain which overwrites the
803 value in [nss] section.
804
805 Default: “not set” (remote domains), “x” (the files domain), “x”
806 (proxy domain with nss_files and sssd-shadowutils target)
807
808 PAM configuration options
809 These options can be used to configure the Pluggable Authentication
810 Module (PAM) service.
811
812 offline_credentials_expiration (integer)
813 If the authentication provider is offline, how long should we allow
814 cached logins (in days since the last successful online login).
815
816 Default: 0 (No limit)
817
818 offline_failed_login_attempts (integer)
819 If the authentication provider is offline, how many failed login
820 attempts are allowed.
821
822 Default: 0 (No limit)
823
824 offline_failed_login_delay (integer)
825 The time in minutes which has to pass after
826 offline_failed_login_attempts has been reached before a new login
827 attempt is possible.
828
829 If set to 0 the user cannot authenticate offline if
830 offline_failed_login_attempts has been reached. Only a successful
831 online authentication can enable offline authentication again.
832
833 Default: 5
834
835 pam_verbosity (integer)
836 Controls what kind of messages are shown to the user during
837 authentication. The higher the number to more messages are
838 displayed.
839
840 Currently sssd supports the following values:
841
842 0: do not show any message
843
844 1: show only important messages
845
846 2: show informational messages
847
848 3: show all messages and debug information
849
850 Default: 1
851
852 pam_response_filter (string)
853 A comma separated list of strings which allows to remove (filter)
854 data sent by the PAM responder to pam_sss PAM module. There are
855 different kind of responses sent to pam_sss e.g. messages displayed
856 to the user or environment variables which should be set by
857 pam_sss.
858
859 While messages already can be controlled with the help of the
860 pam_verbosity option this option allows to filter out other kind of
861 responses as well.
862
863 Currently the following filters are supported:
864
865 ENV
866 Do not send any environment variables to any service.
867
868 ENV:var_name
869 Do not send environment variable var_name to any service.
870
871 ENV:var_name:service
872 Do not send environment variable var_name to service.
873
874 The list of strings can either be the list of filters which would
875 set this list of filters and overwrite the defaults. Or each
876 element of the list can be prefixed by a '+' or '-' character which
877 would add the filter to the existing default or remove it from the
878 defaults, respectively. Please note that either all list elements
879 must have a '+' or '-' prefix or none. It is considered as an error
880 to mix both styles.
881
882 Default: ENV:KRB5CCNAME:sudo, ENV:KRB5CCNAME:sudo-i
883
884 Example: -ENV:KRB5CCNAME:sudo-i will remove the filter from the
885 default list
886
887 pam_id_timeout (integer)
888 For any PAM request while SSSD is online, the SSSD will attempt to
889 immediately update the cached identity information for the user in
890 order to ensure that authentication takes place with the latest
891 information.
892
893 A complete PAM conversation may perform multiple PAM requests, such
894 as account management and session opening. This option controls (on
895 a per-client-application basis) how long (in seconds) we can cache
896 the identity information to avoid excessive round-trips to the
897 identity provider.
898
899 Default: 5
900
901 pam_pwd_expiration_warning (integer)
902 Display a warning N days before the password expires.
903
904 Please note that the backend server has to provide information
905 about the expiration time of the password. If this information is
906 missing, sssd cannot display a warning.
907
908 If zero is set, then this filter is not applied, i.e. if the
909 expiration warning was received from backend server, it will
910 automatically be displayed.
911
912 This setting can be overridden by setting pwd_expiration_warning
913 for a particular domain.
914
915 Default: 0
916
917 get_domains_timeout (int)
918 Specifies time in seconds for which the list of subdomains will be
919 considered valid.
920
921 Default: 60
922
923 pam_trusted_users (string)
924 Specifies the comma-separated list of UID values or user names that
925 are allowed to run PAM conversations against trusted domains. Users
926 not included in this list can only access domains marked as public
927 with “pam_public_domains”. User names are resolved to UIDs at
928 startup.
929
930 Default: All users are considered trusted by default
931
932 Please note that UID 0 is always allowed to access the PAM
933 responder even in case it is not in the pam_trusted_users list.
934
935 pam_public_domains (string)
936 Specifies the comma-separated list of domain names that are
937 accessible even to untrusted users.
938
939 Two special values for pam_public_domains option are defined:
940
941 all (Untrusted users are allowed to access all domains in PAM
942 responder.)
943
944 none (Untrusted users are not allowed to access any domains PAM in
945 responder.)
946
947 Default: none
948
949 pam_account_expired_message (string)
950 Allows a custom expiration message to be set, replacing the default
951 'Permission denied' message.
952
953 Note: Please be aware that message is only printed for the SSH
954 service unless pam_verbosity is set to 3 (show all messages and
955 debug information).
956
957 example:
958
959 pam_account_expired_message = Account expired, please contact help desk.
960
961
962 Default: none
963
964 pam_account_locked_message (string)
965 Allows a custom lockout message to be set, replacing the default
966 'Permission denied' message.
967
968 example:
969
970 pam_account_locked_message = Account locked, please contact help desk.
971
972
973 Default: none
974
975 pam_cert_auth (bool)
976 Enable certificate based Smartcard authentication. Since this
977 requires additional communication with the Smartcard which will
978 delay the authentication process this option is disabled by
979 default.
980
981 Default: False
982
983 pam_cert_db_path (string)
984 The path to the certificate database.
985
986 Default:
987
988 • /etc/sssd/pki/sssd_auth_ca_db.pem (path to a file with trusted
989 CA certificates in PEM format)
990
991
992 pam_cert_verification (string)
993 With this parameter the PAM certificate verification can be tuned
994 with a comma separated list of options that override the
995 “certificate_verification” value in “[sssd]” section. Supported
996 options are the same of “certificate_verification”.
997
998 example:
999
1000 pam_cert_verification = partial_chain
1001
1002
1003 Default: not set, i.e. use default “certificate_verification”
1004 option defined in “[sssd]” section.
1005
1006 p11_child_timeout (integer)
1007 How many seconds will pam_sss wait for p11_child to finish.
1008
1009 Default: 10
1010
1011 pam_app_services (string)
1012 Which PAM services are permitted to contact domains of type
1013 “application”
1014
1015 Default: Not set
1016
1017 pam_p11_allowed_services (integer)
1018 A comma-separated list of PAM service names for which it will be
1019 allowed to use Smartcards.
1020
1021 It is possible to add another PAM service name to the default set
1022 by using “+service_name” or to explicitly remove a PAM service name
1023 from the default set by using “-service_name”. For example, in
1024 order to replace a default PAM service name for authentication with
1025 Smartcards (e.g. “login”) with a custom PAM service name (e.g.
1026 “my_pam_service”), you would use the following configuration:
1027
1028 pam_p11_allowed_services = +my_pam_service, -login
1029
1030
1031 Default: the default set of PAM service names includes:
1032
1033 • login
1034
1035 • su
1036
1037 • su-l
1038
1039 • gdm-smartcard
1040
1041 • gdm-password
1042
1043 • kdm
1044
1045 • sudo
1046
1047 • sudo-i
1048
1049 • gnome-screensaver
1050
1051
1052 p11_wait_for_card_timeout (integer)
1053 If Smartcard authentication is required how many extra seconds in
1054 addition to p11_child_timeout should the PAM responder wait until a
1055 Smartcard is inserted.
1056
1057 Default: 60
1058
1059 p11_uri (string)
1060 PKCS#11 URI (see RFC-7512 for details) which can be used to
1061 restrict the selection of devices used for Smartcard
1062 authentication. By default SSSD's p11_child will search for a
1063 PKCS#11 slot (reader) where the 'removable' flags is set and read
1064 the certificates from the inserted token from the first slot found.
1065 If multiple readers are connected p11_uri can be used to tell
1066 p11_child to use a specific reader.
1067
1068 Example:
1069
1070 p11_uri = pkcs11:slot-description=My%20Smartcard%20Reader
1071
1072
1073 or
1074
1075 p11_uri = pkcs11:library-description=OpenSC%20smartcard%20framework;slot-id=2
1076
1077
1078 To find suitable URI please check the debug output of p11_child. As
1079 an alternative the GnuTLS utility 'p11tool' with e.g. the
1080 '--list-all' will show PKCS#11 URIs as well.
1081
1082 Default: none
1083
1084 pam_initgroups_scheme
1085 The PAM responder can force an online lookup to get the current
1086 group memberships of the user trying to log in. This option
1087 controls when this should be done and the following values are
1088 allowed:
1089
1090 always
1091 Always do an online lookup, please note that pam_id_timeout
1092 still applies
1093
1094 no_session
1095 Only do an online lookup if there is no active session of the
1096 user, i.e. if the user is currently not logged in
1097
1098 never
1099 Never force an online lookup, use the data from the cache as
1100 long as they are not expired
1101
1102 Default: no_session
1103
1104 pam_gssapi_services
1105 Comma separated list of PAM services that are allowed to try GSSAPI
1106 authentication using pam_sss_gss.so module.
1107
1108 To disable GSSAPI authentication, set this option to “-” (dash).
1109
1110 Note: This option can also be set per-domain which overwrites the
1111 value in [pam] section. It can also be set for trusted domain which
1112 overwrites the value in the domain section.
1113
1114 Example:
1115
1116 pam_gssapi_services = sudo, sudo-i
1117
1118
1119 Default: - (GSSAPI authentication is disabled)
1120
1121 pam_gssapi_check_upn
1122 If True, SSSD will require that the Kerberos user principal that
1123 successfully authenticated through GSSAPI can be associated with
1124 the user who is being authenticated. Authentication will fail if
1125 the check fails.
1126
1127 If False, every user that is able to obtained required service
1128 ticket will be authenticated.
1129
1130 Note: This option can also be set per-domain which overwrites the
1131 value in [pam] section. It can also be set for trusted domain which
1132 overwrites the value in the domain section.
1133
1134 Default: True
1135
1136 pam_gssapi_indicators_map
1137 Comma separated list of authentication indicators required to be
1138 present in a Kerberos ticket to access a PAM service that is
1139 allowed to try GSSAPI authentication using pam_sss_gss.so module.
1140
1141 Each element of the list can be either an authentication indicator
1142 name or a pair “service:indicator”. Indicators not prefixed with
1143 the PAM service name will be required to access any PAM service
1144 configured to be used with pam_gssapi_services. A resulting list of
1145 indicators per PAM service is then checked against indicators in
1146 the Kerberos ticket during authentication by pam_sss_gss.so. Any
1147 indicator from the ticket that matches the resulting list of
1148 indicators for the PAM service would grant access. If none of the
1149 indicators in the list match, access will be denied. If the
1150 resulting list of indicators for the PAM service is empty, the
1151 check will not prevent the access.
1152
1153 To disable GSSAPI authentication indicator check, set this option
1154 to “-” (dash). To disable the check for a specific PAM service, add
1155 “service:-”.
1156
1157 Note: This option can also be set per-domain which overwrites the
1158 value in [pam] section. It can also be set for trusted domain which
1159 overwrites the value in the domain section.
1160
1161 Following authentication indicators are supported by IPA Kerberos
1162 deployments:
1163
1164 • pkinit -- pre-authentication using X.509 certificates --
1165 whether stored in files or on smart cards.
1166
1167 • hardened -- SPAKE pre-authentication or any pre-authentication
1168 wrapped in a FAST channel.
1169
1170 • radius -- pre-authentication with the help of a RADIUS server.
1171
1172 • otp -- pre-authentication using integrated two-factor
1173 authentication (2FA or one-time password, OTP) in IPA.
1174
1175 • idp -- pre-authentication using external identity provider.
1176
1177 Example: to require access to SUDO services only for users which
1178 obtained their Kerberos tickets with a X.509 certificate
1179 pre-authentication (PKINIT), set
1180
1181 pam_gssapi_indicators_map = sudo:pkinit, sudo-i:pkinit
1182
1183
1184 Default: not set (use of authentication indicators is not required)
1185
1186 SUDO configuration options
1187 These options can be used to configure the sudo service. The detailed
1188 instructions for configuration of sudo(8) to work with sssd(8) are in
1189 the manual page sssd-sudo(5).
1190
1191 sudo_timed (bool)
1192 Whether or not to evaluate the sudoNotBefore and sudoNotAfter
1193 attributes that implement time-dependent sudoers entries.
1194
1195 Default: false
1196
1197 sudo_threshold (integer)
1198 Maximum number of expired rules that can be refreshed at once. If
1199 number of expired rules is below threshold, those rules are
1200 refreshed with “rules refresh” mechanism. If the threshold is
1201 exceeded a “full refresh” of sudo rules is triggered instead. This
1202 threshold number also applies to IPA sudo command and command group
1203 searches.
1204
1205 Default: 50
1206
1207 AUTOFS configuration options
1208 These options can be used to configure the autofs service.
1209
1210 autofs_negative_timeout (integer)
1211 Specifies for how many seconds should the autofs responder negative
1212 cache hits (that is, queries for invalid map entries, like
1213 nonexistent ones) before asking the back end again.
1214
1215 Default: 15
1216
1217 Please note that the automounter only reads the master map on startup,
1218 so if any autofs-related changes are made to the sssd.conf, you
1219 typically also need to restart the automounter daemon after restarting
1220 the SSSD.
1221
1222 SSH configuration options
1223 These options can be used to configure the SSH service.
1224
1225 ssh_hash_known_hosts (bool)
1226 Whether or not to hash host names and addresses in the managed
1227 known_hosts file.
1228
1229 Default: false
1230
1231 ssh_known_hosts_timeout (integer)
1232 How many seconds to keep a host in the managed known_hosts file
1233 after its host keys were requested.
1234
1235 Default: 180
1236
1237 ssh_use_certificate_keys (bool)
1238 If set to true the sss_ssh_authorizedkeys will return ssh keys
1239 derived from the public key of X.509 certificates stored in the
1240 user entry as well. See sss_ssh_authorizedkeys(1) for details.
1241
1242 Default: true
1243
1244 ssh_use_certificate_matching_rules (string)
1245 By default the ssh responder will use all available certificate
1246 matching rules to filter the certificates so that ssh keys are only
1247 derived from the matching ones. With this option the used rules can
1248 be restricted with a comma separated list of mapping and matching
1249 rule names. All other rules will be ignored.
1250
1251 There are two special key words 'all_rules' and 'no_rules' which
1252 will enable all or no rules, respectively. The latter means that no
1253 certificates will be filtered out and ssh keys will be generated
1254 from all valid certificates.
1255
1256 If no rules are configured using 'all_rules' will enable a default
1257 rule which enables all certificates suitable for client
1258 authentication. This is the same behavior as for the PAM responder
1259 if certificate authentication is enabled.
1260
1261 A non-existing rule name is considered an error. If as a result no
1262 rule is selected all certificates will be ignored.
1263
1264 Default: not set, equivalent to 'all_rules', all found rules or the
1265 default rule are used
1266
1267 ca_db (string)
1268 Path to a storage of trusted CA certificates. The option is used to
1269 validate user certificates before deriving public ssh keys from
1270 them.
1271
1272 Default:
1273
1274 • /etc/sssd/pki/sssd_auth_ca_db.pem (path to a file with trusted
1275 CA certificates in PEM format)
1276
1277
1278 PAC responder configuration options
1279 The PAC responder works together with the authorization data plugin for
1280 MIT Kerberos sssd_pac_plugin.so and a sub-domain provider. The plugin
1281 sends the PAC data during a GSSAPI authentication to the PAC responder.
1282 The sub-domain provider collects domain SID and ID ranges of the domain
1283 the client is joined to and of remote trusted domains from the local
1284 domain controller. If the PAC is decoded and evaluated some of the
1285 following operations are done:
1286
1287 • If the remote user does not exist in the cache, it is created. The
1288 UID is determined with the help of the SID, trusted domains will
1289 have UPGs and the GID will have the same value as the UID. The home
1290 directory is set based on the subdomain_homedir parameter. The
1291 shell will be empty by default, i.e. the system defaults are used,
1292 but can be overwritten with the default_shell parameter.
1293
1294 • If there are SIDs of groups from domains sssd knows about, the user
1295 will be added to those groups.
1296
1297 These options can be used to configure the PAC responder.
1298
1299 allowed_uids (string)
1300 Specifies the comma-separated list of UID values or user names that
1301 are allowed to access the PAC responder. User names are resolved to
1302 UIDs at startup.
1303
1304 Default: 0 (only the root user is allowed to access the PAC
1305 responder)
1306
1307 Please note that although the UID 0 is used as the default it will
1308 be overwritten with this option. If you still want to allow the
1309 root user to access the PAC responder, which would be the typical
1310 case, you have to add 0 to the list of allowed UIDs as well.
1311
1312 pac_lifetime (integer)
1313 Lifetime of the PAC entry in seconds. As long as the PAC is valid
1314 the PAC data can be used to determine the group memberships of a
1315 user.
1316
1317 Default: 300
1318
1319 pac_check (string)
1320 Apply additional checks on the PAC of the Kerberos ticket which is
1321 available in Active Directory and FreeIPA domains, if configured.
1322 Please note that Kerberos ticket validation must be enabled to be
1323 able to check the PAC, i.e. the krb5_validate option must be set to
1324 'True' which is the default for the IPA and AD provider. If
1325 krb5_validate is set to 'False' the PAC checks will be skipped.
1326
1327 The following options can be used alone or in a comma-separated
1328 list:
1329
1330 no_check
1331 The PAC must not be present and even if it is present no
1332 additional checks will be done.
1333
1334 pac_present
1335 The PAC must be present in the service ticket which SSSD will
1336 request with the help of the user's TGT. If the PAC is not
1337 available the authentication will fail.
1338
1339 check_upn
1340 If the PAC is present check if the user principal name (UPN)
1341 information is consistent.
1342
1343 check_upn_allow_missing
1344 This option should be used together with 'check_upn' and
1345 handles the case where a UPN is set on the server-side but is
1346 not read by SSSD. The typical example is a FreeIPA domain where
1347 'ldap_user_principal' is set to a not existing attribute name.
1348 This was typically done to work-around issues in the handling
1349 of enterprise principals. But this is fixed since quite some
1350 time and FreeIPA can handle enterprise principals just fine and
1351 there is no need anymore to set 'ldap_user_principal'.
1352
1353 Currently this option is set by default to avoid regressions in
1354 such environments. A log message will be added to the system
1355 log and SSSD's debug log in case a UPN is found in the PAC but
1356 not in SSSD's cache. To avoid this log message it would be best
1357 to evaluate if the 'ldap_user_principal' option can be removed.
1358 If this is not possible, removing 'check_upn' will skip the
1359 test and avoid the log message.
1360
1361 upn_dns_info_present
1362 The PAC must contain the UPN-DNS-INFO buffer, implies
1363 'check_upn'.
1364
1365 check_upn_dns_info_ex
1366 If the PAC is present and the extension to the UPN-DNS-INFO
1367 buffer is available check if the information in the extension
1368 is consistent.
1369
1370 upn_dns_info_ex_present
1371 The PAC must contain the extension of the UPN-DNS-INFO buffer,
1372 implies 'check_upn_dns_info_ex', 'upn_dns_info_present' and
1373 'check_upn'.
1374
1375 Default: no_check (AD and IPA provider 'check_upn,
1376 check_upn_allow_missing, check_upn_dns_info_ex')
1377
1378 Session recording configuration options
1379 Session recording works in conjunction with tlog-rec-session(8), a part
1380 of tlog package, to log what users see and type when they log in on a
1381 text terminal. See also sssd-session-recording(5).
1382
1383 These options can be used to configure session recording.
1384
1385 scope (string)
1386 One of the following strings specifying the scope of session
1387 recording:
1388
1389 "none"
1390 No users are recorded.
1391
1392 "some"
1393 Users/groups specified by users and groups options are
1394 recorded.
1395
1396 "all"
1397 All users are recorded.
1398
1399 Default: "none"
1400
1401 users (string)
1402 A comma-separated list of users which should have session recording
1403 enabled. Matches user names as returned by NSS. I.e. after the
1404 possible space replacement, case changes, etc.
1405
1406 Default: Empty. Matches no users.
1407
1408 groups (string)
1409 A comma-separated list of groups, members of which should have
1410 session recording enabled. Matches group names as returned by NSS.
1411 I.e. after the possible space replacement, case changes, etc.
1412
1413 NOTE: using this option (having it set to anything) has a
1414 considerable performance cost, because each uncached request for a
1415 user requires retrieving and matching the groups the user is member
1416 of.
1417
1418 Default: Empty. Matches no groups.
1419
1420 exclude_users (string)
1421 A comma-separated list of users to be excluded from recording, only
1422 applicable with 'scope=all'.
1423
1424 Default: Empty. No users excluded.
1425
1426 exclude_groups (string)
1427 A comma-separated list of groups, members of which should be
1428 excluded from recording. Only applicable with 'scope=all'.
1429
1430 NOTE: using this option (having it set to anything) has a
1431 considerable performance cost, because each uncached request for a
1432 user requires retrieving and matching the groups the user is member
1433 of.
1434
1435 Default: Empty. No groups excluded.
1436
1438 These configuration options can be present in a domain configuration
1439 section, that is, in a section called “[domain/NAME]”
1440
1441 enabled
1442 Explicitly enable or disable the domain. If “true”, the domain is
1443 always “enabled”. If “false”, the domain is always “disabled”. If
1444 this option is not set, the domain is enabled only if it is listed
1445 in the domains option in the “[sssd]” section.
1446
1447 domain_type (string)
1448 Specifies whether the domain is meant to be used by POSIX-aware
1449 clients such as the Name Service Switch or by applications that do
1450 not need POSIX data to be present or generated. Only objects from
1451 POSIX domains are available to the operating system interfaces and
1452 utilities.
1453
1454 Allowed values for this option are “posix” and “application”.
1455
1456 POSIX domains are reachable by all services. Application domains
1457 are only reachable from the InfoPipe responder (see sssd-ifp(5))
1458 and the PAM responder.
1459
1460 NOTE: The application domains are currently well tested with
1461 “id_provider=ldap” only.
1462
1463 For an easy way to configure a non-POSIX domains, please see the
1464 “Application domains” section.
1465
1466 Default: posix
1467
1468 min_id,max_id (integer)
1469 UID and GID limits for the domain. If a domain contains an entry
1470 that is outside these limits, it is ignored.
1471
1472 For users, this affects the primary GID limit. The user will not be
1473 returned to NSS if either the UID or the primary GID is outside the
1474 range. For non-primary group memberships, those that are in range
1475 will be reported as expected.
1476
1477 These ID limits affect even saving entries to cache, not only
1478 returning them by name or ID.
1479
1480 Default: 1 for min_id, 0 (no limit) for max_id
1481
1482 enumerate (bool)
1483 Determines if a domain can be enumerated, that is, whether the
1484 domain can list all the users and group it contains. Note that it
1485 is not required to enable enumeration in order for secondary groups
1486 to be displayed. This parameter can have one of the following
1487 values:
1488
1489 TRUE = Users and groups are enumerated
1490
1491 FALSE = No enumerations for this domain
1492
1493 Default: FALSE
1494
1495 Enumerating a domain requires SSSD to download and store ALL user
1496 and group entries from the remote server.
1497
1498 Note: Enabling enumeration has a moderate performance impact on
1499 SSSD while enumeration is running. It may take up to several
1500 minutes after SSSD startup to fully complete enumerations. During
1501 this time, individual requests for information will go directly to
1502 LDAP, though it may be slow, due to the heavy enumeration
1503 processing. Saving a large number of entries to cache after the
1504 enumeration completes might also be CPU intensive as the
1505 memberships have to be recomputed. This can lead to the “sssd_be”
1506 process becoming unresponsive or even restarted by the internal
1507 watchdog.
1508
1509 While the first enumeration is running, requests for the complete
1510 user or group lists may return no results until it completes.
1511
1512 Further, enabling enumeration may increase the time necessary to
1513 detect network disconnection, as longer timeouts are required to
1514 ensure that enumeration lookups are completed successfully. For
1515 more information, refer to the man pages for the specific
1516 id_provider in use.
1517
1518 For the reasons cited above, enabling enumeration is not
1519 recommended, especially in large environments.
1520
1521 subdomain_enumerate (string)
1522 Whether any of autodetected trusted domains should be enumerated.
1523 The supported values are:
1524
1525 all
1526 All discovered trusted domains will be enumerated
1527
1528 none
1529 No discovered trusted domains will be enumerated
1530
1531 Optionally, a list of one or more domain names can enable
1532 enumeration just for these trusted domains.
1533
1534 Default: none
1535
1536 entry_cache_timeout (integer)
1537 How many seconds should nss_sss consider entries valid before
1538 asking the backend again
1539
1540 The cache expiration timestamps are stored as attributes of
1541 individual objects in the cache. Therefore, changing the cache
1542 timeout only has effect for newly added or expired entries. You
1543 should run the sss_cache(8) tool in order to force refresh of
1544 entries that have already been cached.
1545
1546 Default: 5400
1547
1548 entry_cache_user_timeout (integer)
1549 How many seconds should nss_sss consider user entries valid before
1550 asking the backend again
1551
1552 Default: entry_cache_timeout
1553
1554 entry_cache_group_timeout (integer)
1555 How many seconds should nss_sss consider group entries valid before
1556 asking the backend again
1557
1558 Default: entry_cache_timeout
1559
1560 entry_cache_netgroup_timeout (integer)
1561 How many seconds should nss_sss consider netgroup entries valid
1562 before asking the backend again
1563
1564 Default: entry_cache_timeout
1565
1566 entry_cache_service_timeout (integer)
1567 How many seconds should nss_sss consider service entries valid
1568 before asking the backend again
1569
1570 Default: entry_cache_timeout
1571
1572 entry_cache_resolver_timeout (integer)
1573 How many seconds should nss_sss consider hosts and networks entries
1574 valid before asking the backend again
1575
1576 Default: entry_cache_timeout
1577
1578 entry_cache_sudo_timeout (integer)
1579 How many seconds should sudo consider rules valid before asking the
1580 backend again
1581
1582 Default: entry_cache_timeout
1583
1584 entry_cache_autofs_timeout (integer)
1585 How many seconds should the autofs service consider automounter
1586 maps valid before asking the backend again
1587
1588 Default: entry_cache_timeout
1589
1590 entry_cache_ssh_host_timeout (integer)
1591 How many seconds to keep a host ssh key after refresh. IE how long
1592 to cache the host key for.
1593
1594 Default: entry_cache_timeout
1595
1596 entry_cache_computer_timeout (integer)
1597 How many seconds to keep the local computer entry before asking the
1598 backend again
1599
1600 Default: entry_cache_timeout
1601
1602 refresh_expired_interval (integer)
1603 Specifies how many seconds SSSD has to wait before triggering a
1604 background refresh task which will refresh all expired or nearly
1605 expired records.
1606
1607 The background refresh will process users, groups and netgroups in
1608 the cache. For users who have performed the initgroups (get group
1609 membership for user, typically ran at login) operation in the past,
1610 both the user entry and the group membership are updated.
1611
1612 This option is automatically inherited for all trusted domains.
1613
1614 You can consider setting this value to 3/4 * entry_cache_timeout.
1615
1616 Cache entry will be refreshed by background task when 2/3 of cache
1617 timeout has already passed. If there are existing cached entries,
1618 the background task will refer to their original cache timeout
1619 values instead of current configuration value. This may lead to a
1620 situation in which background refresh task appears to not be
1621 working. This is done by design to improve offline mode operation
1622 and reuse of existing valid cache entries. To make this change
1623 instant the user may want to manually invalidate existing cache.
1624
1625 Default: 0 (disabled)
1626
1627 cache_credentials (bool)
1628 Determines if user credentials are also cached in the local LDB
1629 cache. The cached credentials refer to passwords, which includes
1630 the first (long term) factor of two-factor authentication, not
1631 other authentication mechanisms. Passkey and Smartcard
1632 authentications are expected to work offline as long as a
1633 successful online authentication is recorded in the cache without
1634 additional configuration.
1635
1636 Take a note that while credentials are stored as a salted SHA512
1637 hash, this still potentially poses some security risk in case an
1638 attacker manages to get access to a cache file (normally requires
1639 privileged access) and to break a password using brute force
1640 attack.
1641
1642 Default: FALSE
1643
1644 cache_credentials_minimal_first_factor_length (int)
1645 If 2-Factor-Authentication (2FA) is used and credentials should be
1646 saved this value determines the minimal length the first
1647 authentication factor (long term password) must have to be saved as
1648 SHA512 hash into the cache.
1649
1650 This should avoid that the short PINs of a PIN based 2FA scheme are
1651 saved in the cache which would make them easy targets for
1652 brute-force attacks.
1653
1654 Default: 8
1655
1656 account_cache_expiration (integer)
1657 Number of days entries are left in cache after last successful
1658 login before being removed during a cleanup of the cache. 0 means
1659 keep forever. The value of this parameter must be greater than or
1660 equal to offline_credentials_expiration.
1661
1662 Default: 0 (unlimited)
1663
1664 pwd_expiration_warning (integer)
1665 Display a warning N days before the password expires.
1666
1667 If zero is set, then this filter is not applied, i.e. if the
1668 expiration warning was received from backend server, it will
1669 automatically be displayed.
1670
1671 Please note that the backend server has to provide information
1672 about the expiration time of the password. If this information is
1673 missing, sssd cannot display a warning. Also an auth provider has
1674 to be configured for the backend.
1675
1676 Default: 7 (Kerberos), 0 (LDAP)
1677
1678 id_provider (string)
1679 The identification provider used for the domain. Supported ID
1680 providers are:
1681
1682 “proxy”: Support a legacy NSS provider.
1683
1684 “files”: FILES provider. See sssd-files(5) for more information on
1685 how to mirror local users and groups into SSSD.
1686
1687 “ldap”: LDAP provider. See sssd-ldap(5) for more information on
1688 configuring LDAP.
1689
1690 “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1691 See sssd-ipa(5) for more information on configuring FreeIPA.
1692
1693 “ad”: Active Directory provider. See sssd-ad(5) for more
1694 information on configuring Active Directory.
1695
1696 use_fully_qualified_names (bool)
1697 Use the full name and domain (as formatted by the domain's
1698 full_name_format) as the user's login name reported to NSS.
1699
1700 If set to TRUE, all requests to this domain must use fully
1701 qualified names. For example, if used in LOCAL domain that contains
1702 a "test" user, getent passwd test wouldn't find the user while
1703 getent passwd test@LOCAL would.
1704
1705 NOTE: This option has no effect on netgroup lookups due to their
1706 tendency to include nested netgroups without qualified names. For
1707 netgroups, all domains will be searched when an unqualified name is
1708 requested.
1709
1710 Default: FALSE (TRUE for trusted domain/sub-domains or if
1711 default_domain_suffix is used)
1712
1713 ignore_group_members (bool)
1714 Do not return group members for group lookups.
1715
1716 If set to TRUE, the group membership attribute is not requested
1717 from the ldap server, and group members are not returned when
1718 processing group lookup calls, such as getgrnam(3) or getgrgid(3).
1719 As an effect, “getent group $groupname” would return the requested
1720 group as if it was empty.
1721
1722 Enabling this option can also make access provider checks for group
1723 membership significantly faster, especially for groups containing
1724 many members.
1725
1726 This option can be also set per subdomain or inherited via
1727 subdomain_inherit.
1728
1729 Default: FALSE
1730
1731 auth_provider (string)
1732 The authentication provider used for the domain. Supported auth
1733 providers are:
1734
1735 “ldap” for native LDAP authentication. See sssd-ldap(5) for more
1736 information on configuring LDAP.
1737
1738 “krb5” for Kerberos authentication. See sssd-krb5(5) for more
1739 information on configuring Kerberos.
1740
1741 “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1742 See sssd-ipa(5) for more information on configuring FreeIPA.
1743
1744 “ad”: Active Directory provider. See sssd-ad(5) for more
1745 information on configuring Active Directory.
1746
1747 “proxy” for relaying authentication to some other PAM target.
1748
1749 “none” disables authentication explicitly.
1750
1751 Default: “id_provider” is used if it is set and can handle
1752 authentication requests.
1753
1754 access_provider (string)
1755 The access control provider used for the domain. There are two
1756 built-in access providers (in addition to any included in installed
1757 backends) Internal special providers are:
1758
1759 “permit” always allow access. It's the only permitted access
1760 provider for a local domain.
1761
1762 “deny” always deny access.
1763
1764 “ldap” for native LDAP authentication. See sssd-ldap(5) for more
1765 information on configuring LDAP.
1766
1767 “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1768 See sssd-ipa(5) for more information on configuring FreeIPA.
1769
1770 “ad”: Active Directory provider. See sssd-ad(5) for more
1771 information on configuring Active Directory.
1772
1773 “simple” access control based on access or deny lists. See sssd-
1774 simple(5) for more information on configuring the simple access
1775 module.
1776
1777 “krb5”: .k5login based access control. See sssd-krb5(5) for more
1778 information on configuring Kerberos.
1779
1780 “proxy” for relaying access control to another PAM module.
1781
1782 Default: “permit”
1783
1784 chpass_provider (string)
1785 The provider which should handle change password operations for the
1786 domain. Supported change password providers are:
1787
1788 “ldap” to change a password stored in a LDAP server. See sssd-
1789 ldap(5) for more information on configuring LDAP.
1790
1791 “krb5” to change the Kerberos password. See sssd-krb5(5) for more
1792 information on configuring Kerberos.
1793
1794 “ipa”: FreeIPA and Red Hat Enterprise Identity Management provider.
1795 See sssd-ipa(5) for more information on configuring FreeIPA.
1796
1797 “ad”: Active Directory provider. See sssd-ad(5) for more
1798 information on configuring Active Directory.
1799
1800 “proxy” for relaying password changes to some other PAM target.
1801
1802 “none” disallows password changes explicitly.
1803
1804 Default: “auth_provider” is used if it is set and can handle change
1805 password requests.
1806
1807 sudo_provider (string)
1808 The SUDO provider used for the domain. Supported SUDO providers
1809 are:
1810
1811 “ldap” for rules stored in LDAP. See sssd-ldap(5) for more
1812 information on configuring LDAP.
1813
1814 “ipa” the same as “ldap” but with IPA default settings.
1815
1816 “ad” the same as “ldap” but with AD default settings.
1817
1818 “none” disables SUDO explicitly.
1819
1820 Default: The value of “id_provider” is used if it is set.
1821
1822 The detailed instructions for configuration of sudo_provider are in
1823 the manual page sssd-sudo(5). There are many configuration options
1824 that can be used to adjust the behavior. Please refer to
1825 "ldap_sudo_*" in sssd-ldap(5).
1826
1827 NOTE: Sudo rules are periodically downloaded in the background
1828 unless the sudo provider is explicitly disabled. Set sudo_provider
1829 = None to disable all sudo-related activity in SSSD if you do not
1830 want to use sudo with SSSD at all.
1831
1832 selinux_provider (string)
1833 The provider which should handle loading of selinux settings. Note
1834 that this provider will be called right after access provider ends.
1835 Supported selinux providers are:
1836
1837 “ipa” to load selinux settings from an IPA server. See sssd-ipa(5)
1838 for more information on configuring IPA.
1839
1840 “none” disallows fetching selinux settings explicitly.
1841
1842 Default: “id_provider” is used if it is set and can handle selinux
1843 loading requests.
1844
1845 subdomains_provider (string)
1846 The provider which should handle fetching of subdomains. This value
1847 should be always the same as id_provider. Supported subdomain
1848 providers are:
1849
1850 “ipa” to load a list of subdomains from an IPA server. See sssd-
1851 ipa(5) for more information on configuring IPA.
1852
1853 “ad” to load a list of subdomains from an Active Directory server.
1854 See sssd-ad(5) for more information on configuring the AD provider.
1855
1856 “none” disallows fetching subdomains explicitly.
1857
1858 Default: The value of “id_provider” is used if it is set.
1859
1860 session_provider (string)
1861 The provider which configures and manages user session related
1862 tasks. The only user session task currently provided is the
1863 integration with Fleet Commander, which works only with IPA.
1864 Supported session providers are:
1865
1866 “ipa” to allow performing user session related tasks.
1867
1868 “none” does not perform any kind of user session related tasks.
1869
1870 Default: “id_provider” is used if it is set and can perform session
1871 related tasks.
1872
1873 NOTE: In order to have this feature working as expected SSSD must
1874 be running as "root" and not as the unprivileged user.
1875
1876 autofs_provider (string)
1877 The autofs provider used for the domain. Supported autofs providers
1878 are:
1879
1880 “ldap” to load maps stored in LDAP. See sssd-ldap(5) for more
1881 information on configuring LDAP.
1882
1883 “ipa” to load maps stored in an IPA server. See sssd-ipa(5) for
1884 more information on configuring IPA.
1885
1886 “ad” to load maps stored in an AD server. See sssd-ad(5) for more
1887 information on configuring the AD provider.
1888
1889 “none” disables autofs explicitly.
1890
1891 Default: The value of “id_provider” is used if it is set.
1892
1893 hostid_provider (string)
1894 The provider used for retrieving host identity information.
1895 Supported hostid providers are:
1896
1897 “ipa” to load host identity stored in an IPA server. See sssd-
1898 ipa(5) for more information on configuring IPA.
1899
1900 “none” disables hostid explicitly.
1901
1902 Default: The value of “id_provider” is used if it is set.
1903
1904 resolver_provider (string)
1905 The provider which should handle hosts and networks lookups.
1906 Supported resolver providers are:
1907
1908 “proxy” to forward lookups to another NSS library. See
1909 “proxy_resolver_lib_name”
1910
1911 “ldap” to fetch hosts and networks stored in LDAP. See sssd-ldap(5)
1912 for more information on configuring LDAP.
1913
1914 “ad” to fetch hosts and networks stored in AD. See sssd-ad(5) for
1915 more information on configuring the AD provider.
1916
1917 “none” disallows fetching hosts and networks explicitly.
1918
1919 Default: The value of “id_provider” is used if it is set.
1920
1921 re_expression (string)
1922 Regular expression for this domain that describes how to parse the
1923 string containing user name and domain into these components. The
1924 "domain" can match either the SSSD configuration domain name, or,
1925 in the case of IPA trust subdomains and Active Directory domains,
1926 the flat (NetBIOS) name of the domain.
1927
1928 Default: “^((?P<name>.+)@(?P<domain>[^@]*)|(?P<name>[^@]+))$” which
1929 allows two different styles for user names:
1930
1931 • username
1932
1933 • username@domain.name
1934
1935 Default for the AD and IPA provider:
1936 “^(((?P<domain>[^\\]+)\\(?P<name>.+))|((?P<name>.+)@(?P<domain>[^@]+))|((?P<name>[^@\\]+)))$”
1937 which allows three different styles for user names:
1938
1939 • username
1940
1941 • username@domain.name
1942
1943 • domain\username
1944
1945 While the first two correspond to the general default the third one
1946 is introduced to allow easy integration of users from Windows
1947 domains.
1948
1949 The default re_expression uses the “@” character as a separator
1950 between the name and the domain. As a result of this setting the
1951 default does not accept the “@” character in short names (as it is
1952 allowed in Windows group names). If a user wishes to use short
1953 names with “@” they must create their own re_expression.
1954
1955 full_name_format (string)
1956 A printf(3)-compatible format that describes how to compose a fully
1957 qualified name from user name and domain name components.
1958
1959 The following expansions are supported:
1960
1961 %1$s
1962 user name
1963
1964 %2$s
1965 domain name as specified in the SSSD config file.
1966
1967 %3$s
1968 domain flat name. Mostly usable for Active Directory domains,
1969 both directly configured or discovered via IPA trusts.
1970
1971 Default: “%1$s@%2$s”.
1972
1973 lookup_family_order (string)
1974 Provides the ability to select preferred address family to use when
1975 performing DNS lookups.
1976
1977 Supported values:
1978
1979 ipv4_first: Try looking up IPv4 address, if that fails, try IPv6
1980
1981 ipv4_only: Only attempt to resolve hostnames to IPv4 addresses.
1982
1983 ipv6_first: Try looking up IPv6 address, if that fails, try IPv4
1984
1985 ipv6_only: Only attempt to resolve hostnames to IPv6 addresses.
1986
1987 Default: ipv4_first
1988
1989 dns_resolver_server_timeout (integer)
1990 Defines the amount of time (in milliseconds) SSSD would try to talk
1991 to DNS server before trying next DNS server.
1992
1993 The AD provider will use this option for the CLDAP ping timeouts as
1994 well.
1995
1996 Please see the section “FAILOVER” for more information about the
1997 service resolution.
1998
1999 Default: 1000
2000
2001 dns_resolver_op_timeout (integer)
2002 Defines the amount of time (in seconds) to wait to resolve single
2003 DNS query (e.g. resolution of a hostname or an SRV record) before
2004 trying the next hostname or DNS discovery.
2005
2006 Please see the section “FAILOVER” for more information about the
2007 service resolution.
2008
2009 Default: 3
2010
2011 dns_resolver_timeout (integer)
2012 Defines the amount of time (in seconds) to wait for a reply from
2013 the internal fail over service before assuming that the service is
2014 unreachable. If this timeout is reached, the domain will continue
2015 to operate in offline mode.
2016
2017 Please see the section “FAILOVER” for more information about the
2018 service resolution.
2019
2020 Default: 6
2021
2022 dns_resolver_use_search_list (bool)
2023 Normally, the DNS resolver searches the domain list defined in the
2024 "search" directive from the resolv.conf file. This can lead to
2025 delays in environments with improperly configured DNS.
2026
2027 If fully qualified domain names (or _srv_) are used in the SSSD
2028 configuration, setting this option to FALSE can prevent unnecessary
2029 DNS lookups in such environments.
2030
2031 Default: TRUE
2032
2033 dns_discovery_domain (string)
2034 If service discovery is used in the back end, specifies the domain
2035 part of the service discovery DNS query.
2036
2037 Default: Use the domain part of machine's hostname
2038
2039 override_gid (integer)
2040 Override the primary GID value with the one specified.
2041
2042 case_sensitive (string)
2043 Treat user and group names as case sensitive. Possible option
2044 values are:
2045
2046 True
2047 Case sensitive. This value is invalid for AD provider.
2048
2049 False
2050 Case insensitive.
2051
2052 Preserving
2053 Same as False (case insensitive), but does not lowercase names
2054 in the result of NSS operations. Note that name aliases (and in
2055 case of services also protocol names) are still lowercased in
2056 the output.
2057
2058 If you want to set this value for trusted domain with IPA
2059 provider, you need to set it on both the client and SSSD on the
2060 server.
2061
2062 This option can be also set per subdomain or inherited via
2063 subdomain_inherit.
2064
2065 Default: True (False for AD provider)
2066
2067 subdomain_inherit (string)
2068 Specifies a list of configuration parameters that should be
2069 inherited by a subdomain. Please note that only selected parameters
2070 can be inherited. Currently the following options can be inherited:
2071
2072 ldap_search_timeout
2073
2074 ldap_network_timeout
2075
2076 ldap_opt_timeout
2077
2078 ldap_offline_timeout
2079
2080 ldap_enumeration_refresh_timeout
2081
2082 ldap_enumeration_refresh_offset
2083
2084 ldap_purge_cache_timeout
2085
2086 ldap_purge_cache_offset
2087
2088 ldap_krb5_keytab (the value of krb5_keytab will be used if
2089 ldap_krb5_keytab is not set explicitly)
2090
2091 ldap_krb5_ticket_lifetime
2092
2093 ldap_enumeration_search_timeout
2094
2095 ldap_connection_expire_timeout
2096
2097 ldap_connection_expire_offset
2098
2099 ldap_connection_idle_timeout
2100
2101 ldap_use_tokengroups
2102
2103 ldap_user_principal
2104
2105 ignore_group_members
2106
2107 auto_private_groups
2108
2109 case_sensitive
2110
2111 Example:
2112
2113 subdomain_inherit = ldap_purge_cache_timeout
2114
2115
2116 Default: none
2117
2118 Note: This option only works with the IPA and AD provider.
2119
2120 subdomain_homedir (string)
2121 Use this homedir as default value for all subdomains within this
2122 domain in IPA AD trust. See override_homedir for info about
2123 possible values. In addition to those, the expansion below can only
2124 be used with subdomain_homedir.
2125
2126 %F
2127 flat (NetBIOS) name of a subdomain.
2128
2129 The value can be overridden by override_homedir option.
2130
2131 Default: /home/%d/%u
2132
2133 realmd_tags (string)
2134 Various tags stored by the realmd configuration service for this
2135 domain.
2136
2137 cached_auth_timeout (int)
2138 Specifies time in seconds since last successful online
2139 authentication for which user will be authenticated using cached
2140 credentials while SSSD is in the online mode. If the credentials
2141 are incorrect, SSSD falls back to online authentication.
2142
2143 This option's value is inherited by all trusted domains. At the
2144 moment it is not possible to set a different value per trusted
2145 domain.
2146
2147 Special value 0 implies that this feature is disabled.
2148
2149 Please note that if “cached_auth_timeout” is longer than
2150 “pam_id_timeout” then the back end could be called to handle
2151 “initgroups.”
2152
2153 Default: 0
2154
2155 local_auth_policy (string)
2156 Local authentication methods policy. Some backends (i.e. LDAP,
2157 proxy provider) only support a password based authentication, while
2158 others can handle PKINIT based Smartcard authentication (AD, IPA),
2159 two-factor authentication (IPA), or other methods against a central
2160 instance. By default in such cases authentication is only performed
2161 with the methods supported by the backend.
2162
2163 There are three possible values for this option: match, only,
2164 enable. “match” is used to match offline and online states for
2165 Kerberos methods. “only” ignores the online methods and only offer
2166 the local ones. enable allows explicitly defining the methods for
2167 local authentication. As an example, “enable:passkey”, only enables
2168 passkey for local authentication. Multiple enable values should be
2169 comma-separated, such as “enable:passkey, enable:smartcard”
2170
2171 Please note that if local Smartcard authentication is enabled and a
2172 Smartcard is present, Smartcard authentication will be preferred
2173 over the authentication methods supported by the backend. I.e.
2174 there will be a PIN prompt instead of e.g. a password prompt.
2175
2176 The following configuration example allows local users to
2177 authenticate locally using any enabled method (i.e. smartcard,
2178 passkey).
2179
2180 [domain/shadowutils]
2181 id_provider = proxy
2182 proxy_lib_name = files
2183 auth_provider = none
2184 local_auth_policy = only
2185
2186 This option is ignored for the files provider.
2187
2188 Default: match
2189
2190 auto_private_groups (string)
2191 This option takes any of three available values:
2192
2193 true
2194 Create user's private group unconditionally from user's UID
2195 number. The GID number is ignored in this case.
2196
2197 NOTE: Because the GID number and the user private group are
2198 inferred from the UID number, it is not supported to have
2199 multiple entries with the same UID or GID number with this
2200 option. In other words, enabling this option enforces
2201 uniqueness across the ID space.
2202
2203 false
2204 Always use the user's primary GID number. The GID number must
2205 refer to a group object in the LDAP database.
2206
2207 hybrid
2208 A primary group is autogenerated for user entries whose UID and
2209 GID numbers have the same value and at the same time the GID
2210 number does not correspond to a real group object in LDAP. If
2211 the values are the same, but the primary GID in the user entry
2212 is also used by a group object, the primary GID of the user
2213 resolves to that group object.
2214
2215 If the UID and GID of a user are different, then the GID must
2216 correspond to a group entry, otherwise the GID is simply not
2217 resolvable.
2218
2219 This feature is useful for environments that wish to stop
2220 maintaining a separate group objects for the user private
2221 groups, but also wish to retain the existing user private
2222 groups.
2223
2224 For subdomains, the default value is False for subdomains that use
2225 assigned POSIX IDs and True for subdomains that use automatic
2226 ID-mapping.
2227
2228 The value of auto_private_groups can either be set per subdomains
2229 in a subsection, for example:
2230
2231 [domain/forest.domain/sub.domain]
2232 auto_private_groups = false
2233
2234 or globally for all subdomains in the main domain section using the
2235 subdomain_inherit option:
2236
2237 [domain/forest.domain]
2238 subdomain_inherit = auto_private_groups
2239 auto_private_groups = false
2240
2241
2242 Options valid for proxy domains.
2243
2244 proxy_pam_target (string)
2245 The proxy target PAM proxies to.
2246
2247 Default: not set by default, you have to take an existing pam
2248 configuration or create a new one and add the service name here. As
2249 an alternative you can enable local authentication with the
2250 local_auth_policy option.
2251
2252 proxy_lib_name (string)
2253 The name of the NSS library to use in proxy domains. The NSS
2254 functions searched for in the library are in the form of
2255 _nss_$(libName)_$(function), for example _nss_files_getpwent.
2256
2257 proxy_resolver_lib_name (string)
2258 The name of the NSS library to use for hosts and networks lookups
2259 in proxy domains. The NSS functions searched for in the library are
2260 in the form of _nss_$(libName)_$(function), for example
2261 _nss_dns_gethostbyname2_r.
2262
2263 proxy_fast_alias (boolean)
2264 When a user or group is looked up by name in the proxy provider, a
2265 second lookup by ID is performed to "canonicalize" the name in case
2266 the requested name was an alias. Setting this option to true would
2267 cause the SSSD to perform the ID lookup from cache for performance
2268 reasons.
2269
2270 Default: false
2271
2272 proxy_max_children (integer)
2273 This option specifies the number of pre-forked proxy children. It
2274 is useful for high-load SSSD environments where sssd may run out of
2275 available child slots, which would cause some issues due to the
2276 requests being queued.
2277
2278 Default: 10
2279
2280 Application domains
2281 SSSD, with its D-Bus interface (see sssd-ifp(5)) is appealing to
2282 applications as a gateway to an LDAP directory where users and groups
2283 are stored. However, contrary to the traditional SSSD deployment where
2284 all users and groups either have POSIX attributes or those attributes
2285 can be inferred from the Windows SIDs, in many cases the users and
2286 groups in the application support scenario have no POSIX attributes.
2287 Instead of setting a “[domain/NAME]” section, the administrator can set
2288 up an “[application/NAME]” section that internally represents a domain
2289 with type “application” optionally inherits settings from a tradition
2290 SSSD domain.
2291
2292 Please note that the application domain must still be explicitly
2293 enabled in the “domains” parameter so that the lookup order between the
2294 application domain and its POSIX sibling domain is set correctly.
2295
2296 Application domain parameters
2297
2298 inherit_from (string)
2299 The SSSD POSIX-type domain the application domain inherits all
2300 settings from. The application domain can moreover add its own
2301 settings to the application settings that augment or override the
2302 “sibling” domain settings.
2303
2304 Default: Not set
2305
2306 The following example illustrates the use of an application domain. In
2307 this setup, the POSIX domain is connected to an LDAP server and is used
2308 by the OS through the NSS responder. In addition, the application
2309 domain also requests the telephoneNumber attribute, stores it as the
2310 phone attribute in the cache and makes the phone attribute reachable
2311 through the D-Bus interface.
2312
2313 [sssd]
2314 domains = appdom, posixdom
2315
2316 [ifp]
2317 user_attributes = +phone
2318
2319 [domain/posixdom]
2320 id_provider = ldap
2321 ldap_uri = ldap://ldap.example.com
2322 ldap_search_base = dc=example,dc=com
2323
2324 [application/appdom]
2325 inherit_from = posixdom
2326 ldap_user_extra_attrs = phone:telephoneNumber
2327
2329 Some options used in the domain section can also be used in the trusted
2330 domain section, that is, in a section called
2331 “[domain/DOMAIN_NAME/TRUSTED_DOMAIN_NAME]”. Where DOMAIN_NAME is the
2332 actual joined-to base domain. Please refer to examples below for
2333 explanation. Currently supported options in the trusted domain section
2334 are:
2335
2336 ldap_search_base,
2337
2338 ldap_user_search_base,
2339
2340 ldap_group_search_base,
2341
2342 ldap_netgroup_search_base,
2343
2344 ldap_service_search_base,
2345
2346 ldap_sasl_mech,
2347
2348 ad_server,
2349
2350 ad_backup_server,
2351
2352 ad_site,
2353
2354 use_fully_qualified_names
2355
2356 pam_gssapi_services
2357
2358 pam_gssapi_check_upn
2359
2360 For more details about these options see their individual description
2361 in the manual page.
2362
2364 To allow authentication with Smartcards and certificates SSSD must be
2365 able to map certificates to users. This can be done by adding the full
2366 certificate to the LDAP object of the user or to a local override.
2367 While using the full certificate is required to use the Smartcard
2368 authentication feature of SSH (see sss_ssh_authorizedkeys(8) for
2369 details) it might be cumbersome or not even possible to do this for the
2370 general case where local services use PAM for authentication.
2371
2372 To make the mapping more flexible mapping and matching rules were added
2373 to SSSD (see sss-certmap(5) for details).
2374
2375 A mapping and matching rule can be added to the SSSD configuration in a
2376 section on its own with a name like “[certmap/DOMAIN_NAME/RULE_NAME]”.
2377 In this section the following options are allowed:
2378
2379 matchrule (string)
2380 Only certificates from the Smartcard which matches this rule will
2381 be processed, all others are ignored.
2382
2383 Default: KRB5:<EKU>clientAuth, i.e. only certificates which have
2384 the Extended Key Usage “clientAuth”
2385
2386 maprule (string)
2387 Defines how the user is found for a given certificate.
2388
2389 Default:
2390
2391 • LDAP:(userCertificate;binary={cert!bin}) for LDAP based
2392 providers like “ldap”, “AD” or “ipa”.
2393
2394 • The RULE_NAME for the “files” provider which tries to find a
2395 user with the same name.
2396
2397
2398 domains (string)
2399 Comma separated list of domain names the rule should be applied. By
2400 default a rule is only valid in the domain configured in sssd.conf.
2401 If the provider supports subdomains this option can be used to add
2402 the rule to subdomains as well.
2403
2404 Default: the configured domain in sssd.conf
2405
2406 priority (integer)
2407 Unsigned integer value defining the priority of the rule. The
2408 higher the number the lower the priority. “0” stands for the
2409 highest priority while “4294967295” is the lowest.
2410
2411 Default: the lowest priority
2412
2413 To make the configuration simple and reduce the amount of configuration
2414 options the “files” provider has some special properties:
2415
2416 • if maprule is not set the RULE_NAME name is assumed to be the name
2417 of the matching user
2418
2419 • if a maprule is used both a single user name or a template like
2420 “{subject_rfc822_name.short_name}” must be in braces like e.g.
2421 “(username)” or “({subject_rfc822_name.short_name})”
2422
2423 • the “domains” option is ignored
2424
2425
2427 If a special file (/var/lib/sss/pubconf/pam_preauth_available) exists
2428 SSSD's PAM module pam_sss will ask SSSD to figure out which
2429 authentication methods are available for the user trying to log in.
2430 Based on the results pam_sss will prompt the user for appropriate
2431 credentials.
2432
2433 With the growing number of authentication methods and the possibility
2434 that there are multiple ones for a single user the heuristic used by
2435 pam_sss to select the prompting might not be suitable for all use
2436 cases. The following options should provide a better flexibility here.
2437
2438 Each supported authentication method has its own configuration
2439 subsection under “[prompting/...]”. Currently there are:
2440
2441 [prompting/password]
2442 to configure password prompting, allowed options are:
2443
2444 password_prompt
2445 to change the string of the password prompt
2446
2447
2448 [prompting/2fa]
2449 to configure two-factor authentication prompting, allowed options
2450 are:
2451
2452 first_prompt
2453 to change the string of the prompt for the first factor
2454
2455 second_prompt
2456 to change the string of the prompt for the second factor
2457
2458 single_prompt
2459 boolean value, if True there will be only a single prompt using
2460 the value of first_prompt where it is expected that both
2461 factors are entered as a single string. Please note that both
2462 factors have to be entered here, even if the second factor is
2463 optional.
2464
2465 If the second factor is optional and it should be possible to log
2466 in either only with the password or with both factors two-step
2467 prompting has to be used.
2468
2469
2470 It is possible to add a subsection for specific PAM services, e.g.
2471 “[prompting/password/sshd]” to individual change the prompting for this
2472 service.
2473
2475 1. The following example shows a typical SSSD config. It does not
2476 describe configuration of the domains themselves - refer to
2477 documentation on configuring domains for more details.
2478
2479 [sssd]
2480 domains = LDAP
2481 services = nss, pam
2482 config_file_version = 2
2483
2484 [nss]
2485 filter_groups = root
2486 filter_users = root
2487
2488 [pam]
2489
2490 [domain/LDAP]
2491 id_provider = ldap
2492 ldap_uri = ldap://ldap.example.com
2493 ldap_search_base = dc=example,dc=com
2494
2495 auth_provider = krb5
2496 krb5_server = kerberos.example.com
2497 krb5_realm = EXAMPLE.COM
2498 cache_credentials = true
2499
2500 min_id = 10000
2501 max_id = 20000
2502 enumerate = False
2503
2504 2. The following example shows configuration of IPA AD trust where the
2505 AD forest consists of two domains in a parent-child structure. Suppose
2506 IPA domain (ipa.com) has trust with AD domain(ad.com). ad.com has child
2507 domain (child.ad.com). To enable shortnames in the child domain the
2508 following configuration should be used.
2509
2510 [domain/ipa.com/child.ad.com]
2511 use_fully_qualified_names = false
2512
2513 3. The following example shows the configuration of a certificate
2514 mapping rule. It is valid for the configured domain “my.domain” and
2515 additionally for the subdomains “your.domain” and uses the full
2516 certificate in the search filter.
2517
2518 [certmap/my.domain/rule_name]
2519 matchrule = <ISSUER>^CN=My-CA,DC=MY,DC=DOMAIN$
2520 maprule = (userCertificate;binary={cert!bin})
2521 domains = my.domain, your.domain
2522 priority = 10
2523
2524
2526 sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-
2527 krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-files(5), sssd-
2528 sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8),
2529 sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8),
2530 sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5),
2531 pam_sss(8). sss_rpcidmapd(5) sssd-systemtap(5)
2532
2534 The SSSD upstream - https://github.com/SSSD/sssd/
2535
2536
2537
2538SSSD 11/15/2023 SSSD.CONF(5)