1SSSD-LDAP(5) File Formats and Conventions SSSD-LDAP(5)
2
3
4
6 sssd-ldap - the configuration file for SSSD
7
9 This manual page describes the configuration of LDAP domains for
10 sssd(8). Refer to the “FILE FORMAT” section of the sssd.conf(5) manual
11 page for detailed syntax information.
12
13 You can configure SSSD to use more than one LDAP domain.
14
15 LDAP back end supports id, auth, access and chpass providers. If you
16 want to authenticate against an LDAP server either TLS/SSL or LDAPS is
17 required. sssd does not support authentication over an unencrypted
18 channel. If the LDAP server is used only as an identity provider, an
19 encrypted channel is not needed. Please refer to “ldap_access_filter”
20 config option for more information about using LDAP as an access
21 provider.
22
24 All of the common configuration options that apply to SSSD domains also
25 apply to LDAP domains. Refer to the “DOMAIN SECTIONS” section of the
26 sssd.conf(5) manual page for full details.
27
28 ldap_uri (string)
29 Specifies the comma-separated list of URIs of the LDAP servers to
30 which SSSD should connect in the order of preference. Refer to the
31 “FAILOVER” section for more information on failover and server
32 redundancy. If not specified, service discovery is enabled. For
33 more information, refer to the “SERVICE DISCOVERY” section.
34
35 The format of the URI must match the format defined in RFC 2732:
36
37 ldap[s]://<host>[:port]
38
39 For explicit IPv6 addresses, <host> must be enclosed in brackets []
40
41 example: ldap://[fc00::126:25]:389
42
43 ldap_chpass_uri (string)
44 Specifies the list of URIs of the LDAP servers to which SSSD should
45 connect in the order of preference to change the password of a
46 user. Refer to the “FAILOVER” section for more information on
47 failover and server redundancy.
48
49 To enable service discovery ldap_chpass_dns_service_name must be
50 set.
51
52 Default: empty, i.e. ldap_uri is used.
53
54 ldap_search_base (string)
55 The default base DN to use for performing LDAP user operations.
56
57 Default: If not set the value of the defaultNamingContext or
58 namingContexts attribute from the RootDSE of the LDAP server is
59 used. If defaultNamingContext does not exists or has an empty value
60 namingContexts is used. The namingContexts attribute must have a
61 single value with the DN of the search base of the LDAP server to
62 make this work. Multiple values are are not supported.
63
64 ldap_schema (string)
65 Specifies the Schema Type in use on the target LDAP server.
66 Depending on the selected schema, the default attribute names
67 retrieved from the servers may vary. The way that some attributes
68 are handled may also differ. Three schema types are currently
69 supported: rfc2307 rfc2307bis IPA The main difference between these
70 schema types is how group memberships are recorded in the server.
71 With rfc2307, group members are listed by name in the memberUid
72 attribute. With rfc2307bis and IPA, group members are listed by DN
73 and stored in the member attribute.
74
75 Default: rfc2307
76
77 ldap_default_bind_dn (string)
78 The default bind DN to use for performing LDAP operations.
79
80 ldap_default_authtok_type (string)
81 The type of the authentication token of the default bind DN.
82
83 The two mechanisms currently supported are:
84
85 password
86
87 obfuscated_password
88
89 Default: password
90
91 ldap_default_authtok (string)
92 The authentication token of the default bind DN. Only clear text
93 passwords are currently supported.
94
95 ldap_user_object_class (string)
96 The object class of a user entry in LDAP.
97
98 Default: posixAccount
99
100 ldap_user_name (string)
101 The LDAP attribute that corresponds to the user's login name.
102
103 Default: uid
104
105 ldap_user_uid_number (string)
106 The LDAP attribute that corresponds to the user's id.
107
108 Default: uidNumber
109
110 ldap_user_gid_number (string)
111 The LDAP attribute that corresponds to the user's primary group id.
112
113 Default: gidNumber
114
115 ldap_user_gecos (string)
116 The LDAP attribute that corresponds to the user's gecos field.
117
118 Default: gecos
119
120 ldap_user_home_directory (string)
121 The LDAP attribute that contains the name of the user's home
122 directory.
123
124 Default: homeDirectory
125
126 ldap_user_shell (string)
127 The LDAP attribute that contains the path to the user's default
128 shell.
129
130 Default: loginShell
131
132 ldap_user_uuid (string)
133 The LDAP attribute that contains the UUID/GUID of an LDAP user
134 object.
135
136 Default: nsUniqueId
137
138 ldap_user_modify_timestamp (string)
139 The LDAP attribute that contains timestamp of the last modification
140 of the parent object.
141
142 Default: modifyTimestamp
143
144 ldap_user_shadow_last_change (string)
145 When using ldap_pwd_policy=shadow, this parameter contains the name
146 of an LDAP attribute corresponding to its shadow(5) counterpart
147 (date of the last password change).
148
149 Default: shadowLastChange
150
151 ldap_user_shadow_min (string)
152 When using ldap_pwd_policy=shadow, this parameter contains the name
153 of an LDAP attribute corresponding to its shadow(5) counterpart
154 (minimum password age).
155
156 Default: shadowMin
157
158 ldap_user_shadow_max (string)
159 When using ldap_pwd_policy=shadow, this parameter contains the name
160 of an LDAP attribute corresponding to its shadow(5) counterpart
161 (maximum password age).
162
163 Default: shadowMax
164
165 ldap_user_shadow_warning (string)
166 When using ldap_pwd_policy=shadow, this parameter contains the name
167 of an LDAP attribute corresponding to its shadow(5) counterpart
168 (password warning period).
169
170 Default: shadowWarning
171
172 ldap_user_shadow_inactive (string)
173 When using ldap_pwd_policy=shadow, this parameter contains the name
174 of an LDAP attribute corresponding to its shadow(5) counterpart
175 (password inactivity period).
176
177 Default: shadowInactive
178
179 ldap_user_shadow_expire (string)
180 When using ldap_pwd_policy=shadow or
181 ldap_account_expire_policy=shadow, this parameter contains the name
182 of an LDAP attribute corresponding to its shadow(5) counterpart
183 (account expiration date).
184
185 Default: shadowExpire
186
187 ldap_user_krb_last_pwd_change (string)
188 When using ldap_pwd_policy=mit_kerberos, this parameter contains
189 the name of an LDAP attribute storing the date and time of last
190 password change in kerberos.
191
192 Default: krbLastPwdChange
193
194 ldap_user_krb_password_expiration (string)
195 When using ldap_pwd_policy=mit_kerberos, this parameter contains
196 the name of an LDAP attribute storing the date and time when
197 current password expires.
198
199 Default: krbPasswordExpiration
200
201 ldap_user_ad_account_expires (string)
202 When using ldap_account_expire_policy=ad, this parameter contains
203 the name of an LDAP attribute storing the expiration time of the
204 account.
205
206 Default: accountExpires
207
208 ldap_user_ad_user_account_control (string)
209 When using ldap_account_expire_policy=ad, this parameter contains
210 the name of an LDAP attribute storing the user account control bit
211 field.
212
213 Default: userAccountControl
214
215 ldap_ns_account_lock (string)
216 When using ldap_account_expire_policy=rhds or equivalent, this
217 parameter determines if access is allowed or not.
218
219 Default: nsAccountLock
220
221 ldap_user_principal (string)
222 The LDAP attribute that contains the user's Kerberos User Principal
223 Name (UPN).
224
225 Default: krbPrincipalName
226
227 ldap_force_upper_case_realm (boolean)
228 Some directory servers, for example Active Directory, might deliver
229 the realm part of the UPN in lower case, which might cause the
230 authentication to fail. Set this option to a non-zero value if you
231 want to use an upper-case realm.
232
233 Default: false
234
235 ldap_enumeration_refresh_timeout (integer)
236 The LDAP attribute that contains how many seconds SSSD has to wait
237 before refreshing its cache of enumerated records.
238
239 Default: 300
240
241 ldap_purge_cache_timeout
242 Determine how often to check the cache for inactive entries (such
243 as groups with no members and users who have never logged in) and
244 remove them to save space.
245
246 Setting this option to zero will disable the cache cleanup
247 operation.
248
249 Default: 10800 (12 hours)
250
251 ldap_user_fullname (string)
252 The LDAP attribute that corresponds to the user's full name.
253
254 Default: cn
255
256 ldap_user_member_of (string)
257 The LDAP attribute that lists the user's group memberships.
258
259 Default: memberOf
260
261 ldap_user_authorized_service (string)
262 If access_provider=ldap and ldap_access_order=authorized_service,
263 SSSD will use the presence of the authorizedService attribute in
264 the user's LDAP entry to determine access privilege.
265
266 An explicit deny (!svc) is resolved first. Second, SSSD searches
267 for explicit allow (svc) and finally for allow_all (*).
268
269 Default: authorizedService
270
271 ldap_group_object_class (string)
272 The object class of a group entry in LDAP.
273
274 Default: posixGroup
275
276 ldap_group_name (string)
277 The LDAP attribute that corresponds to the group name.
278
279 Default: cn
280
281 ldap_group_gid_number (string)
282 The LDAP attribute that corresponds to the group's id.
283
284 Default: gidNumber
285
286 ldap_group_member (string)
287 The LDAP attribute that contains the names of the group's members.
288
289 Default: memberuid (rfc2307) / member (rfc2307bis)
290
291 ldap_group_uuid (string)
292 The LDAP attribute that contains the UUID/GUID of an LDAP group
293 object.
294
295 Default: nsUniqueId
296
297 ldap_group_modify_timestamp (string)
298 The LDAP attribute that contains timestamp of the last modification
299 of the parent object.
300
301 Default: modifyTimestamp
302
303 ldap_group_nesting_level (integer)
304 If ldap_schema is set to a schema format that supports nested
305 groups (e.g. RFC2307bis), then this option controls how many levels
306 of nesting SSSD will follow. This option has no effect on the
307 RFC2307 schema.
308
309 Default: 2
310
311 ldap_netgroup_object_class (string)
312 The object class of a netgroup entry in LDAP.
313
314 Default: nisNetgroup
315
316 ldap_netgroup_name (string)
317 The LDAP attribute that corresponds to the netgroup name.
318
319 Default: cn
320
321 ldap_netgroup_member (string)
322 The LDAP attribute that contains the names of the netgroup's
323 members.
324
325 Default: memberNisNetgroup
326
327 ldap_netgroup_triple (string)
328 The LDAP attribute that contains the (host, user, domain) netgroup
329 triples.
330
331 Default: nisNetgroupTriple
332
333 ldap_netgroup_uuid (string)
334 The LDAP attribute that contains the UUID/GUID of an LDAP netgroup
335 object.
336
337 Default: nsUniqueId
338
339 ldap_netgroup_modify_timestamp (string)
340 The LDAP attribute that contains timestamp of the last modification
341 of the parent object.
342
343 Default: modifyTimestamp
344
345 ldap_search_timeout (integer)
346 Specifies the timeout (in seconds) that ldap searches are allowed
347 to run before they are cancelled and cached results are returned
348 (and offline mode is entered)
349
350 Note: this option is subject to change in future versions of the
351 SSSD. It will likely be replaced at some point by a series of
352 timeouts for specific lookup types.
353
354 Default: 6
355
356 ldap_enumeration_search_timeout (integer)
357 Specifies the timeout (in seconds) that ldap searches for user and
358 group enumerations are allowed to run before they are cancelled and
359 cached results are returned (and offline mode is entered)
360
361 Default: 60
362
363 ldap_network_timeout (integer)
364 Specifies the timeout (in seconds) after which the
365 poll(2)/select(2) following a connect(2) returns in case of no
366 activity.
367
368 Default: 6
369
370 ldap_opt_timeout (integer)
371 Specifies a timeout (in seconds) after which calls to synchronous
372 LDAP APIs will abort if no response is received. Also controls the
373 timeout when communicating with the KDC in case of SASL bind.
374
375 Default: 6
376
377 ldap_page_size (integer)
378 Specify the number of records to retrieve from LDAP in a single
379 request. Some LDAP servers enforce a maximum limit per-request.
380
381 Default: 1000
382
383 ldap_tls_reqcert (string)
384 Specifies what checks to perform on server certificates in a TLS
385 session, if any. It can be specified as one of the following
386 values:
387
388
389 never = The client will not request or check any server
390 certificate.
391
392
393 allow = The server certificate is requested. If no certificate is
394 provided, the session proceeds normally. If a bad certificate is
395 provided, it will be ignored and the session proceeds normally.
396
397
398 try = The server certificate is requested. If no certificate is
399 provided, the session proceeds normally. If a bad certificate is
400 provided, the session is immediately terminated.
401
402
403 demand = The server certificate is requested. If no certificate is
404 provided, or a bad certificate is provided, the session is
405 immediately terminated.
406
407
408 hard = Same as “demand”
409
410 Default: hard
411
412 ldap_tls_cacert (string)
413 Specifies the file that contains certificates for all of the
414 Certificate Authorities that sssd will recognize.
415
416 Default: use OpenLDAP defaults, typically in
417 /etc/openldap/ldap.conf
418
419 ldap_tls_cacertdir (string)
420 Specifies the path of a directory that contains Certificate
421 Authority certificates in separate individual files. Typically the
422 file names need to be the hash of the certificate followed by '.0'.
423 If available, cacertdir_rehash can be used to create the correct
424 names.
425
426 Default: use OpenLDAP defaults, typically in
427 /etc/openldap/ldap.conf
428
429 ldap_tls_cert (string)
430 Specifies the file that contains the certificate for the client's
431 key.
432
433 Default: not set
434
435 ldap_tls_key (string)
436 Specifies the file that contains the client's key.
437
438 Default: not set
439
440 ldap_tls_cipher_suite (string)
441 Specifies acceptable cipher suites. Typically this is a colon
442 sperated list. See ldap.conf(5) for format.
443
444 Default: use OpenLDAP defaults, typically in
445 /etc/openldap/ldap.conf
446
447 ldap_id_use_start_tls (boolean)
448 Specifies that the id_provider connection must also use tls to
449 protect the channel.
450
451 Default: false
452
453 ldap_sasl_mech (string)
454 Specify the SASL mechanism to use. Currently only GSSAPI is tested
455 and supported.
456
457 Default: none
458
459 ldap_sasl_authid (string)
460 Specify the SASL authorization id to use. When GSSAPI is used, this
461 represents the Kerberos principal used for authentication to the
462 directory.
463
464 Default: host/machine.fqdn@REALM
465
466 ldap_krb5_keytab (string)
467 Specify the keytab to use when using SASL/GSSAPI.
468
469 Default: System keytab, normally /etc/krb5.keytab
470
471 ldap_krb5_init_creds (boolean)
472 Specifies that the id_provider should init Kerberos credentials
473 (TGT). This action is performed only if SASL is used and the
474 mechanism selected is GSSAPI.
475
476 Default: true
477
478 ldap_krb5_ticket_lifetime (integer)
479 Specifies the lifetime in seconds of the TGT if GSSAPI is used.
480
481 Default: 86400 (24 hours)
482
483 krb5_server (string)
484 Specifies the list of IP addresses or hostnames of the Kerberos
485 servers to which SSSD should connect in the order of preference.
486 For more information on failover and server redundancy, see the
487 “FAILOVER” section. An optional port number (preceded by a colon)
488 may be appended to the addresses or hostnames. If empty, service
489 discovery is enabled - for more information, refer to the “SERVICE
490 DISCOVERY” section.
491
492 When using service discovery for KDC or kpasswd servers, SSSD first
493 searches for DNS entries that specify _udp as the protocol and
494 falls back to _tcp if none are found.
495
496 This option was named “krb5_kdcip” in earlier releases of SSSD.
497 While the legacy name is recognized for the time being, users are
498 advised to migrate their config files to use “krb5_server” instead.
499
500 krb5_realm (string)
501 Specify the Kerberos REALM (for SASL/GSSAPI auth).
502
503 Default: System defaults, see /etc/krb5.conf
504
505 ldap_pwd_policy (string)
506 Select the policy to evaluate the password expiration on the client
507 side. The following values are allowed:
508
509
510 none - No evaluation on the client side. This option cannot disable
511 server-side password policies.
512
513
514 shadow - Use shadow(5) style attributes to evaluate if the password
515 has expired. Note that the current version of sssd cannot update
516 this attribute during a password change.
517
518
519 mit_kerberos - Use the attributes used by MIT Kerberos to determine
520 if the password has expired. Use chpass_provider=krb5 to update
521 these attributes when the password is changed.
522
523 Default: none
524
525 ldap_referrals (boolean)
526 Specifies whether automatic referral chasing should be enabled.
527
528 Please note that sssd only supports referral chasing when it is
529 compiled with OpenLDAP version 2.4.13 or higher.
530
531 Default: true
532
533 ldap_dns_service_name (string)
534 Specifies the service name to use when service discovery is
535 enabled.
536
537 Default: ldap
538
539 ldap_chpass_dns_service_name (string)
540 Specifies the service name to use to find an LDAP server which
541 allows password changes when service discovery is enabled.
542
543 Default: not set, i.e. service discovery is disabled
544
545 ldap_access_filter (string)
546 If using access_provider = ldap, this option is mandatory. It
547 specifies an LDAP search filter criteria that must be met for the
548 user to be granted access on this host. If access_provider = ldap
549 and this option is not set, it will result in all users being
550 denied access. Use access_provider = allow to change this default
551 behavior.
552
553 Example:
554
555 access_provider = ldap
556 ldap_access_filter = memberOf=cn=allowedusers,ou=Groups,dc=example,dc=com
557
558
559 This example means that access to this host is restricted to
560 members of the "allowedusers" group in ldap.
561
562 Offline caching for this feature is limited to determining whether
563 the user's last online login was granted access permission. If they
564 were granted access during their last login, they will continue to
565 be granted access while offline and vice-versa.
566
567 Default: Empty
568
569 ldap_account_expire_policy (string)
570 With this option a client side evaluation of access control
571 attributes can be enabled.
572
573 Please note that it is always recommended to use server side access
574 control, i.e. the LDAP server should deny the bind request with a
575 suitable error code even if the password is correct.
576
577 The following values are allowed:
578
579
580 shadow: use the value of ldap_user_shadow_expire to determine if
581 the account is expired.
582
583
584 ad: use the value of the 32bit field
585 ldap_user_ad_user_account_control and allow access if the second
586 bit is not set. If the attribute is missing access is granted. Also
587 the expiration time of the account is checked.
588
589
590 rhds, ipa, 389ds: use the value of ldap_ns_account_lock to check if
591 access is allowed or not.
592
593 Default: Empty
594
595 ldap_access_order (string)
596 Comma separated list of access control options. Allowed values are:
597
598
599 filter: use ldap_access_filter
600
601
602 expire: use ldap_account_expire_policy
603
604
605 authorized_service: use the authorizedService attribute to
606 determine access
607
608 Default: filter
609
610 Please note that it is a configuration error if a value is used
611 more than once.
612
613 ldap_deref (string)
614 Specifies how alias dereferencing is done when performing a search.
615 The following options are allowed:
616
617
618 never: Aliases are never dereferenced.
619
620
621 searching: Aliases are dereferenced in subordinates of the base
622 object, but not in locating the base object of the search.
623
624
625 finding: Aliases are only dereferenced when locating the base
626 object of the search.
627
628
629 always: Aliases are dereferenced both in searching and in locating
630 the base object of the search.
631
632 Default: Empty (this is handled as never by the LDAP client
633 libraries)
634
636 These options are supported by LDAP domains, but they should be used
637 with caution. Please include them in your configuration only if you
638 know what you are doing.
639
640 ldap_netgroup_search_base (string)
641 An optional base DN to restrict netgroup searches to a specific
642 subtree.
643
644 Default: the value of ldap_search_base
645
646 ldap_user_search_base (string)
647 An optional base DN to restrict user searches to a specific
648 subtree.
649
650 Default: the value of ldap_search_base
651
652 ldap_group_search_base (string)
653 An optional base DN to restrict group searches to a specific
654 subtree.
655
656 Default: the value of ldap_search_base
657
659 The failover feature allows back ends to automatically switch to a
660 different server if the primary server fails.
661
662 Failover Syntax
663 The list of servers is given as a comma-separated list; any number of
664 spaces is allowed around the comma. The servers are listed in order of
665 preference. The list can contain any number of servers.
666
667 The Failover Mechanism
668 The failover mechanism distinguishes between a machine and a service.
669 The back end first tries to resolve the hostname of a given machine; if
670 this resolution attempt fails, the machine is considered offline. No
671 further attempts are made to connect to this machine for any other
672 service. If the resolution attempt succeeds, the back end tries to
673 connect to a service on this machine. If the service connection attempt
674 fails, then only this particular service is considered offline and the
675 back end automatically switches over to the next service. The machine
676 is still considered online and might still be tried for another
677 service.
678
679 Further connection attempts are made to machines or services marked as
680 offline after a specified period of time; this is currently hard coded
681 to 30 seconds.
682
683 If there are no more machines to try, the back end as a whole switches
684 to offline mode, and then attempts to reconnect every 30 seconds.
685
687 The service discovery feature allows back ends to automatically find
688 the appropriate servers to connect to using a special DNS query.
689
690 Configuration
691 If no servers are specified, the back end automatically uses service
692 discovery to try to find a server. Optionally, the user may choose to
693 use both fixed server addresses and service discovery by inserting a
694 special keyword, “_srv_”, in the list of servers. The order of
695 preference is maintained. This feature is useful if, for example, the
696 user prefers to use service discovery whenever possible, and fall back
697 to a specific server when no servers can be discovered using DNS.
698
699 The domain name
700 Please refer to the “dns_discovery_domain” parameter in the
701 sssd.conf(5) manual page for more details.
702
703 The protocol
704 The queries usually specify _tcp as the protocol. Exceptions are
705 documented in respective option description.
706
707 See Also
708 For more information on the service discovery mechanism, refer to RFC
709 2782.
710
712 The following example assumes that SSSD is correctly configured and
713 LDAP is set to one of the domains in the [domains] section.
714
715 [domain/LDAP]
716 id_provider = ldap
717 auth_provider = ldap
718 ldap_uri = ldap://ldap.mydomain.org
719 ldap_search_base = dc=mydomain,dc=org
720 ldap_tls_reqcert = demand
721 cache_credentials = true
722 enumerate = true
723
724
726 The descriptions of some of the configuration options in this manual
727 page are based on the ldap.conf(5) manual page from the OpenLDAP 2.4
728 distribution.
729
731 sssd.conf(5), sssd-krb5(5), sssd(8)
732
734 The SSSD upstream - http://fedorahosted.org/sssd
735
736
737
738SSSD 08/05/2011 SSSD-LDAP(5)