What I use for Hortonworks HDP (Hadoop) systems, but should work for anyone.
Some configurations are tuned for Active Directory without relying on 'sssd-ad' such that the hosts don't need to join the domain.
sudo yum install sssd sssd-ldap sssd-krb5 sssd-tools authconfig \
oddjob oddjob-mkhomedir openldap-clients cyrus-sasl-gssapi \
krb5-workstation
ktutil
## enter these into ktutil
add_entry -password -p [email protected] -k 1 -e aes256-cts-hmac-sha1-96
add_entry -password -p [email protected] -k 1 -e aes128-cts-hmac-sha1-96
write_kt ldap-user.keytab
q
sudo chown root:root ldap-user.keytab
sudo chmod 0400 ldap-user.keytab
sudo mkdir -p /etc/security/keytabs
sudo mv ldap-user.keytab /etc/security/keytabs/
keytab=/etc/security/keytabs/ldap-user.keytab
export KRB5CCNAME=/tmp/krb5cc_root_temporary
sudo -E kinit -kt ${keytab} $(sudo -E klist -kt ${keytab}| awk '{print $NF}'|tail -1)
sudo -E ldapwhoami
sudo -E kdestroy
See sssd.conf
in this gist.
sudo chown root:root /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf
sudo restorecon /etc/sssd/sssd.conf
sudo authconfig --savebackup=$HOME/authconfig-backup-before-sssd
## test
sudo authconfig --enablesssd --enablesssdauth --enablemkhomedir --enablecache --enablelocauthorize --disableldap --disableldapauth --disablewinbind --disablenis --disablekrb5 --test
## apply
sudo authconfig --enablesssd --enablesssdauth --enablemkhomedir --enablecache --enablelocauthorize --disableldap --disableldapauth --disablewinbind --disablenis --disablekrb5 --update
## if anything goes wrong use this to rollback all the configs:
#sudo authconfig --restorelastbackup
sudo sssctl cache-expire -E
sudo sssctl logs-remove
sudo sss_cache -E
sudo systemctl stop sssd
sleep 1
sudo rm -f /var/lib/sss/db/*
sudo rm -f /var/lib/sss/mc/*
sleep 1
sudo systemctl start sssd
sudo systemctl restart oddjobd
## verify users and groups
getent passwd | grep example.org
id test-user
getent group|grep ^test-group
## once confirmed working:
sudo systemctl enable sssd
sudo systemctl enable oddjobd
$ sudo -E hdfs groups test-user
test-user : users test-group test-group2
$ sudo yarn rmadmin -getGroups test-user
test-user : users test-group test-group2
## Add following to /etc/ssh/sshd_config:
AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandRunAs nobody
sudo systemctl restart sshd