# yum install sssd
/etc/sssd/sssd.conf
file to the new format, and copy the existing version to /etc/sssd/sssd.conf.bak
.
upgrade_config.py
[
-f INFILE
] [
-o OUTFILE
] [
-verbose
] [
--no-backup
]
-f INFILE
— the configuration file to upgrade. If not specified, this defaults to /etc/sssd/sssd.conf
-o OUTFILE
— the name of the upgraded configuration file. If not specified, this defaults to /etc/sssd/sssd.conf
-verbose
— produce more verbose output during the upgrade process
--no-backup
— do not produce a back-up file. If not specified, this defaults to INFILE
.bak
service
command or the /etc/init.d/sssd
script to control SSSD. For example, run the following command to start sssd
:
# service sssd start
chkconfig
command, as follows:
# chkconfig sssd on
/etc/sssd/sssd.conf
file. This file consists of various sections, each of which contains a number of key/value pairs. Some keys accept multiple values; use commas to separate multiple values for such keys. This configuration file uses data types of string (no quotes required), integer and Boolean (with values of TRUE
or FALSE
). Comments are indicated by either a hash sign (#) or a semicolon (;) in the first column. The following example illustrates some of this syntax:
[section] # Keys with single values key1 = value key2 = val2 # Keys with multiple values key10 = val10,val11
-c
(or --config
) parameter on the command line to specify a different configuration file for SSSD.
sssd_nss
, so that you can configure your system to use SSSD to retrieve user information. Edit the /etc/nsswitch.conf
file for your system to use the sss
name database. For example:
passwd: files sss group: files sss
/etc/pam.d/system-auth
file. Edit this file to reflect the following example, and then restart sssd
:
#%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_sss.so use_first_pass auth required pam_deny.so account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_sss.so account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password sufficient pam_sss.so use_authtok password required pam_deny.so session required pam_mkhomedir.so umask=0022 skel=/etc/skel/ session optional pam_keyinit.so revoke session required pam_limits.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session sufficient pam_sss.so session required pam_unix.so
/home
, and if your system is configured to create home directories the first time your users log in, then these directories will be created with the wrong permissions. For example, instead of a typical home directory such as /home/<username>
, your users might have home directories that include their locale, such as /home/<locale>/<username>
. If this is true for your system, the following steps need to be taken (preemptively):
/home
directory to the home directory that you use on your system. In the example above, the following command would achieve this result (replace the directory names with those that apply to your system):
# semanage fcontext -a -e /home /home/locale
pam_oddjob_mkhomedir.so
library, which the Authentication Configuration tool will then use to create your custom home directories. You need to use this library to create your home directories, and not the default pam_mkhomedir.so
library, because the latter cannot create SELinux labels.
pam_oddjob_mkhomedir.so
library if it is available. Otherwise, it will default to using pam_mkhomedir.so
.
# semanage fcontext -a -e /home /home/locale # restorecon -R -v /home/locale
include
statements in PAM configurations. For example:
... session include system-auth session optional pam_console.so ...
sufficient
condition from system-auth
returns PAM_SUCCESS, pam_console.so
will not be executed.
access_provider
option in the [domain/<NAME
>]
section in the /etc/sssd/sssd.conf
file.
access_provider
option to simple
, and then add usernames as a comma-separated list to either the simple_allow_users
or simple_deny_users
options.
example.com
is one of the domains specified in the [sssd]
section, and only shows the Simple Access Provider-specific options.
[domain/example.com] access_provider = simple simple_allow_users = user1, user2
simple
as an access provider.
simple_allow_users
is set, only users from this list are allowed access. This setting supersedes the simple_deny_users
list (which would be redundant).
simple_allow_users
list is empty, users are allowed access unless they appear in the simple_deny_users
list.
simple_allow_users
and simple_deny_users
is a configuration error. If this occurs, SSSD will output an error to the /var/log/sssd/sssd_default.log
log file when loading the back end, but continue to start normally. Future versions of SSSD will output an error and fail to start.
access_provider=ldap
) and the associated filter option (ldap_access_filter
) to specify which users are granted access to the specified host. Note that these two options are codependent; if you use LDAP as your access provider then you must specify a value for the ldap_access_filter
option, otherwise all users will be denied access. If you are not using LDAP as your access provider, then the ldap_access_filter
option has no effect.
example.com
is one of the domains specified in the [sssd]
section, and only shows the LDAP Access Provider-specific options.
[domain/example.com] access_provider = ldap ldap_access_filter = memberOf=cn=allowedusers,ou=Groups,dc=example,dc=com
[domain/<NAME
>]
sections of the /etc/sssd/sssd.conf
file, and listed in order of preference. This list can contain any number of servers.
ldap_uri
values:
ldap_uri = ldap://ldap0.mydomain.org, ldap://ldap1.mydomain.org, ldap://ldap2.mydomain.org
ldap://ldap0.mydomain.org
functions as the primary server. If this server fails, the SSSD failover mechanism first attempts to connect to ldap1.mydomain.org
, and if that server is unavailable, it then attempts to connect to ldap2.mydomain.org
.
ldap_uri
, krb5_kdcip
, …) is not specified, the back end defaults to using Use service discovery
. Refer to Section 8.2.3.2.4.1, “Using SRV Records with Failover” for more information on service discovery.
ldap_uri
parameters to specify your failover servers. The failover servers must be entered as a comma-separated list of values for a single ldap_uri
parameter. If you enter multiple ldap_uri
parameters, SSSD only recognizes the last entry.
ldap_uri
entries.
priority
and weight
attributes of SRV records provide further opportunity for specifying which servers should be contacted first in the event that the primary server fails.
_service
._protocol
._domain TTL priority weight port hostname
service
._protocol
._domain
, for example, _ldap._tcp._redhat.com
. The client then sorts this list according to the priorities and weights, and connects to the first server in this sorted list.