Provided by:
sssd_1.5.8-0ubuntu3_i386 
NAME
sssd-ldap - the configuration file for SSSD
DESCRIPTION
This manual page describes the configuration of LDAP domains for
sssd(8). Refer to the “FILE FORMAT” section of the sssd.conf(5) manual
page for detailed syntax information.
You can configure SSSD to use more than one LDAP domain.
LDAP back end supports id, auth, access and chpass providers. If you
want to authenticate against an LDAP server either TLS/SSL or LDAPS is
required. sssd does not support authentication over an unencrypted
channel. If the LDAP server is used only as an identity provider, an
encrypted channel is not needed. Please refer to “ldap_access_filter”
config option for more information about using LDAP as an access
provider.
CONFIGURATION OPTIONS
All of the common configuration options that apply to SSSD domains also
apply to LDAP domains. Refer to the “DOMAIN SECTIONS” section of the
sssd.conf(5) manual page for full details.
ldap_uri (string)
Specifies the comma-separated list of URIs of the LDAP servers to
which SSSD should connect in the order of preference. Refer to the
“FAILOVER” section for more information on failover and server
redundancy. If not specified, service discovery is enabled. For
more information, refer to the “SERVICE DISCOVERY” section.
The format of the URI must match the format defined in RFC 2732:
ldap[s]://<host>[:port]
For explicit IPv6 addresses, <host> must be enclosed in brackets []
example: ldap://[fc00::126:25]:389
ldap_chpass_uri (string)
Specifies the list of URIs of the LDAP servers to which SSSD should
connect in the order of preference to change the password of a
user. Refer to the “FAILOVER” section for more information on
failover and server redundancy.
To enable service discovery ldap_chpass_dns_service_name must be
set.
Default: empty, i.e. ldap_uri is used.
ldap_search_base (string)
The default base DN to use for performing LDAP user operations.
Default: If not set the value of the defaultNamingContext or
namingContexts attribute from the RootDSE of the LDAP server is
used. If defaultNamingContext does not exists or has an empty value
namingContexts is used. The namingContexts attribute must have a
single value with the DN of the search base of the LDAP server to
make this work. Multiple values are are not supported.
ldap_schema (string)
Specifies the Schema Type in use on the target LDAP server.
Depending on the selected schema, the default attribute names
retrieved from the servers may vary. The way that some attributes
are handled may also differ. Three schema types are currently
supported: rfc2307 rfc2307bis IPA The main difference between these
schema types is how group memberships are recorded in the server.
With rfc2307, group members are listed by name in the memberUid
attribute. With rfc2307bis and IPA, group members are listed by DN
and stored in the member attribute.
Default: rfc2307
ldap_default_bind_dn (string)
The default bind DN to use for performing LDAP operations.
ldap_default_authtok_type (string)
The type of the authentication token of the default bind DN.
The two mechanisms currently supported are:
password
obfuscated_password
default: password
ldap_default_authtok (string)
The authentication token of the default bind DN. Only clear text
passwords are currently supported.
ldap_user_object_class (string)
The object class of a user entry in LDAP.
Default: posixAccount
ldap_user_name (string)
The LDAP attribute that corresponds to the user's login name.
Default: uid
ldap_user_uid_number (string)
The LDAP attribute that corresponds to the user's id.
Default: uidNumber
ldap_user_gid_number (string)
The LDAP attribute that corresponds to the user's primary group id.
Default: gidNumber
ldap_user_gecos (string)
The LDAP attribute that corresponds to the user's gecos field.
Default: gecos
ldap_user_home_directory (string)
The LDAP attribute that contains the name of the user's home
directory.
Default: homeDirectory
ldap_user_shell (string)
The LDAP attribute that contains the path to the user's default
shell.
Default: loginShell
ldap_user_uuid (string)
The LDAP attribute that contains the UUID/GUID of an LDAP user
object.
Default: nsUniqueId
ldap_user_modify_timestamp (string)
The LDAP attribute that contains timestamp of the last modification
of the parent object.
Default: modifyTimestamp
ldap_user_shadow_last_change (string)
When using ldap_pwd_policy=shadow, this parameter contains the name
of an LDAP attribute corresponding to its shadow(5) counterpart
(date of the last password change).
Default: shadowLastChange
ldap_user_shadow_min (string)
When using ldap_pwd_policy=shadow, this parameter contains the name
of an LDAP attribute corresponding to its shadow(5) counterpart
(minimum password age).
Default: shadowMin
ldap_user_shadow_max (string)
When using ldap_pwd_policy=shadow, this parameter contains the name
of an LDAP attribute corresponding to its shadow(5) counterpart
(maximum password age).
Default: shadowMax
ldap_user_shadow_warning (string)
When using ldap_pwd_policy=shadow, this parameter contains the name
of an LDAP attribute corresponding to its shadow(5) counterpart
(password warning period).
Default: shadowWarning
ldap_user_shadow_inactive (string)
When using ldap_pwd_policy=shadow, this parameter contains the name
of an LDAP attribute corresponding to its shadow(5) counterpart
(password inactivity period).
Default: shadowInactive
ldap_user_shadow_expire (string)
When using ldap_pwd_policy=shadow or
ldap_account_expire_policy=shadow, this parameter contains the name
of an LDAP attribute corresponding to its shadow(5) counterpart
(account expiration date).
Default: shadowExpire
ldap_user_krb_last_pwd_change (string)
When using ldap_pwd_policy=mit_kerberos, this parameter contains
the name of an LDAP attribute storing the date and time of last
password change in kerberos.
Default: krbLastPwdChange
ldap_user_krb_password_expiration (string)
When using ldap_pwd_policy=mit_kerberos, this parameter contains
the name of an LDAP attribute storing the date and time when
current password expires.
Default: krbPasswordExpiration
ldap_user_ad_account_expires (string)
When using ldap_account_expire_policy=ad, this parameter contains
the name of an LDAP attribute storing the expiration time of the
account.
Default: accountExpires
ldap_user_ad_user_account_control (string)
When using ldap_account_expire_policy=ad, this parameter contains
the name of an LDAP attribute storing the user account control bit
field.
Default: userAccountControl
ldap_ns_account_lock (string)
When using ldap_account_expire_policy=rhds or equivalent, this
parameter determines if access is allowed or not.
Default: nsAccountLock
ldap_user_principal (string)
The LDAP attribute that contains the user's Kerberos User Principal
Name (UPN).
Default: krbPrincipalName
ldap_force_upper_case_realm (boolean)
Some directory servers, for example Active Directory, might deliver
the realm part of the UPN in lower case, which might cause the
authentication to fail. Set this option to a non-zero value if you
want to use an upper-case realm.
Default: false
ldap_enumeration_refresh_timeout (integer)
The LDAP attribute that contains how many seconds SSSD has to wait
before refreshing its cache of enumerated records.
Default: 300
ldap_purge_cache_timeout
Determine how often to check the cache for inactive entries (such
as groups with no members and users who have never logged in) and
remove them to save space.
Setting this option to zero will disable the cache cleanup
operation.
Default: 10800 (12 hours)
ldap_user_fullname (string)
The LDAP attribute that corresponds to the user's full name.
Default: cn
ldap_user_member_of (string)
The LDAP attribute that lists the user's group memberships.
Default: memberOf
ldap_user_authorized_service (string)
If access_provider=ldap and ldap_access_order=authorized_service,
SSSD will use the presence of the authorizedService attribute in
the user's LDAP entry to determine access privilege.
An explicit deny (!svc) is resolved first. Second, SSSD searches
for explicit allow (svc) and finally for allow_all (*).
Default: authorizedService
ldap_group_object_class (string)
The object class of a group entry in LDAP.
Default: posixGroup
ldap_group_name (string)
The LDAP attribute that corresponds to the group name.
Default: cn
ldap_group_gid_number (string)
The LDAP attribute that corresponds to the group's id.
Default: gidNumber
ldap_group_member (string)
The LDAP attribute that contains the names of the group's members.
Default: memberuid (rfc2307) / member (rfc2307bis)
ldap_group_uuid (string)
The LDAP attribute that contains the UUID/GUID of an LDAP group
object.
Default: nsUniqueId
ldap_group_modify_timestamp (string)
The LDAP attribute that contains timestamp of the last modification
of the parent object.
Default: modifyTimestamp
ldap_group_nesting_level (integer)
If ldap_schema is set to a schema format that supports nested
groups (e.g. RFC2307bis), then this option controls how many levels
of nesting SSSD will follow. This option has no effect on the
RFC2307 schema.
Default: 2
ldap_netgroup_object_class (string)
The object class of a netgroup entry in LDAP.
Default: nisNetgroup
ldap_netgroup_name (string)
The LDAP attribute that corresponds to the netgroup name.
Default: cn
ldap_netgroup_member (string)
The LDAP attribute that contains the names of the netgroup's
members.
Default: memberNisNetgroup
ldap_netgroup_triple (string)
The LDAP attribute that contains the (host, user, domain) netgroup
triples.
Default: nisNetgroupTriple
ldap_netgroup_uuid (string)
The LDAP attribute that contains the UUID/GUID of an LDAP netgroup
object.
Default: nsUniqueId
ldap_netgroup_modify_timestamp (string)
The LDAP attribute that contains timestamp of the last modification
of the parent object.
Default: modifyTimestamp
ldap_search_timeout (integer)
Specifies the timeout (in seconds) that ldap searches are allowed
to run before they are cancelled and cached results are returned
(and offline mode is entered)
Note: this option is subject to change in future versions of the
SSSD. It will likely be replaced at some point by a series of
timeouts for specific lookup types.
Default: 6
ldap_enumeration_search_timeout (integer)
Specifies the timeout (in seconds) that ldap searches for user and
group enumerations are allowed to run before they are cancelled and
cached results are returned (and offline mode is entered)
Default: 60
ldap_network_timeout (integer)
Specifies the timeout (in seconds) after which the
poll(2)/select(2) following a connect(2) returns in case of no
activity.
Default: 6
ldap_opt_timeout (integer)
Specifies a timeout (in seconds) after which calls to synchronous
LDAP APIs will abort if no response is received. Also controls the
timeout when communicating with the KDC in case of SASL bind.
Default: 6
ldap_page_size (integer)
Specify the number of records to retrieve from LDAP in a single
request. Some LDAP servers enforce a maximum limit per-request.
Default: 1000
ldap_tls_reqcert (string)
Specifies what checks to perform on server certificates in a TLS
session, if any. It can be specified as one of the following
values:
never = The client will not request or check any server
certificate.
allow = The server certificate is requested. If no certificate is
provided, the session proceeds normally. If a bad certificate is
provided, it will be ignored and the session proceeds normally.
try = The server certificate is requested. If no certificate is
provided, the session proceeds normally. If a bad certificate is
provided, the session is immediately terminated.
demand = The server certificate is requested. If no certificate is
provided, or a bad certificate is provided, the session is
immediately terminated.
hard = Same as “demand”
Default: hard
ldap_tls_cacert (string)
Specifies the file that contains certificates for all of the
Certificate Authorities that sssd will recognize.
Default: use OpenLDAP defaults, typically in
/etc/openldap/ldap.conf
ldap_tls_cacertdir (string)
Specifies the path of a directory that contains Certificate
Authority certificates in separate individual files. Typically the
file names need to be the hash of the certificate followed by '.0'.
If available, cacertdir_rehash can be used to create the correct
names.
Default: use OpenLDAP defaults, typically in
/etc/openldap/ldap.conf
ldap_tls_cert (string)
Specifies the file that contains the certificate for the client's
key.
Default: not set
ldap_tls_key (string)
Specifies the file that contains the client's key.
Default: not set
ldap_tls_cipher_suite (string)
Specifies acceptable cipher suites. Typically this is a colon
sperated list. See ldap.conf(5) for format.
Default: use OpenLDAP defaults, typically in
/etc/openldap/ldap.conf
ldap_id_use_start_tls (boolean)
Specifies that the id_provider connection must also use tls to
protect the channel.
Default: false
ldap_sasl_mech (string)
Specify the SASL mechanism to use. Currently only GSSAPI is tested
and supported.
Default: none
ldap_sasl_authid (string)
Specify the SASL authorization id to use. When GSSAPI is used, this
represents the Kerberos principal used for authentication to the
directory.
Default: host/machine.fqdn@REALM
ldap_krb5_keytab (string)
Specify the keytab to use when using SASL/GSSAPI.
Default: System keytab, normally /etc/krb5.keytab
ldap_krb5_init_creds (boolean)
Specifies that the id_provider should init Kerberos credentials
(TGT). This action is performed only if SASL is used and the
mechanism selected is GSSAPI.
Default: true
ldap_krb5_ticket_lifetime (integer)
Specifies the lifetime in seconds of the TGT if GSSAPI is used.
Default: 86400 (24 hours)
krb5_server (string)
Specifies the list of IP addresses or hostnames of the Kerberos
servers to which SSSD should connect in the order of preference.
For more information on failover and server redundancy, see the
“FAILOVER” section. An optional port number (preceded by a colon)
may be appended to the addresses or hostnames. If empty, service
discovery is enabled - for more information, refer to the “SERVICE
DISCOVERY” section.
When using service discovery for KDC or kpasswd servers, SSSD first
searches for DNS entries that specify _udp as the protocol and
falls back to _tcp if none are found.
This option was named “krb5_kdcip” in earlier releases of SSSD.
While the legacy name is recognized for the time being, users are
advised to migrate their config files to use “krb5_server” instead.
krb5_realm (string)
Specify the Kerberos REALM (for SASL/GSSAPI auth).
Default: System defaults, see /etc/krb5.conf
ldap_pwd_policy (string)
Select the policy to evaluate the password expiration on the client
side. The following values are allowed:
none - No evaluation on the client side. This option cannot disable
server-side password policies.
shadow - Use shadow(5) style attributes to evaluate if the password
has expired. Note that the current version of sssd cannot update
this attribute during a password change.
mit_kerberos - Use the attributes used by MIT Kerberos to determine
if the password has expired. Use chpass_provider=krb5 to update
these attributes when the password is changed.
Default: none
ldap_referrals (boolean)
Specifies whether automatic referral chasing should be enabled.
Please note that sssd only supports referral chasing when it is
compiled with OpenLDAP version 2.4.13 or higher.
Default: true
ldap_dns_service_name (string)
Specifies the service name to use when service discovery is
enabled.
Default: ldap
ldap_chpass_dns_service_name (string)
Specifies the service name to use to find an LDAP server which
allows password changes when service discovery is enabled.
Default: not set, i.e. service discovery is disabled
ldap_access_filter (string)
If using access_provider = ldap, this option is mandatory. It
specifies an LDAP search filter criteria that must be met for the
user to be granted access on this host. If access_provider = ldap
and this option is not set, it will result in all users being
denied access. Use access_provider = allow to change this default
behavior.
Example:
access_provider = ldap
ldap_access_filter = memberOf=cn=allowedusers,ou=Groups,dc=example,dc=com
This example means that access to this host is restricted to
members of the "allowedusers" group in ldap.
Offline caching for this feature is limited to determining whether
the user's last online login was granted access permission. If they
were granted access during their last login, they will continue to
be granted access while offline and vice-versa.
Default: Empty
ldap_account_expire_policy (string)
With this option a client side evaluation of access control
attributes can be enabled.
Please note that it is always recommended to use server side access
control, i.e. the LDAP server should deny the bind request with a
suitable error code even if the password is correct.
The following values are allowed:
shadow: use the value of ldap_user_shadow_expire to determine if
the account is expired.
ad: use the value of the 32bit field
ldap_user_ad_user_account_control and allow access if the second
bit is not set. If the attribute is missing access is granted. Also
the expiration time of the account is checked.
rhds, ipa, 389ds: use the value of ldap_ns_account_lock to check if
access is allowed or not.
Default: Empty
ldap_access_order (string)
Comma separated list of access control options. Allowed values are:
filter: use ldap_access_filter
expire: use ldap_account_expire_policy
authorized_service: use the authorizedService attribute to
determine access
Default: filter
Please note that it is a configuration error if a value is used
more than once.
ldap_deref (string)
Specifies how alias dereferencing is done when performing a search.
The following options are allowed:
never: Aliases are never dereferenced.
searching: Aliases are dereferenced in subordinates of the base
object, but not in locating the base object of the search.
finding: Aliases are only dereferenced when locating the base
object of the search.
always: Aliases are dereferenced both in searching and in locating
the base object of the search.
Default: Empty (this is handled as never by the LDAP client
libraries)
ADVANCED OPTIONS
These options are supported by LDAP domains, but they should be used
with caution. Please include them in your configuration only if you
know what you are doing.
ldap_netgroup_search_base (string)
An optional base DN to restrict netgroup searches to a specific
subtree.
Default: the value of ldap_search_base
ldap_user_search_base (string)
An optional base DN to restrict user searches to a specific
subtree.
Default: the value of ldap_search_base
ldap_group_search_base (string)
An optional base DN to restrict group searches to a specific
subtree.
Default: the value of ldap_search_base
FAILOVER
The failover feature allows back ends to automatically switch to a
different server if the primary server fails.
Failover Syntax
The list of servers is given as a comma-separated list; any number of
spaces is allowed around the comma. The servers are listed in order of
preference. The list can contain any number of servers.
The Failover Mechanism
The failover mechanism distinguishes between a machine and a service.
The back end first tries to resolve the hostname of a given machine; if
this resolution attempt fails, the machine is considered offline. No
further attempts are made to connect to this machine for any other
service. If the resolution attempt succeeds, the back end tries to
connect to a service on this machine. If the service connection attempt
fails, then only this particular service is considered offline and the
back end automatically switches over to the next service. The machine
is still considered online and might still be tried for another
service.
Further connection attempts are made to machines or services marked as
offline after a specified period of time; this is currently hard coded
to 30 seconds.
If there are no more machines to try, the back end as a whole switches
to offline mode, and then attempts to reconnect every 30 seconds.
SERVICE DISCOVERY
The service discovery feature allows back ends to automatically find
the appropriate servers to connect to using a special DNS query.
Configuration
If no servers are specified, the back end automatically uses service
discovery to try to find a server. Optionally, the user may choose to
use both fixed server addresses and service discovery by inserting a
special keyword, “_srv_”, in the list of servers. The order of
preference is maintained. This feature is useful if, for example, the
user prefers to use service discovery whenever possible, and fall back
to a specific server when no servers can be discovered using DNS.
The domain name
Please refer to the “dns_discovery_domain” parameter in the
sssd.conf(5) manual page for more details.
The protocol
The queries usually specify _tcp as the protocol. Exceptions are
documented in respective option description.
See Also
For more information on the service discovery mechanism, refer to RFC
2782.
EXAMPLE
The following example assumes that SSSD is correctly configured and
LDAP is set to one of the domains in the [domains] section.
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
ldap_uri = ldap://ldap.mydomain.org
ldap_search_base = dc=mydomain,dc=org
ldap_tls_reqcert = demand
cache_credentials = true
enumerate = true
NOTES
The descriptions of some of the configuration options in this manual
page are based on the ldap.conf(5) manual page from the OpenLDAP 2.4
distribution.
SEE ALSO
sssd.conf(5), sssd-krb5(5), sssd(8)
AUTHORS
The SSSD upstream - http://fedorahosted.org/sssd