====== Joindre un poste Fedora sur un domaine Active Directory ======
Valable aussi (et surtout) sur un domaine géré par samba 4 bien évidemment. Testé sur Fedora 28.
Dans cet exemple:
* Le domaine est FWS.FR
* Le poste à joindre se nomme dani-laptop
===== Installer les paquets =====
dnf install sssd-ad adcli oddjob-mkhomedir krb5-workstation
===== Configurer sssd =====
export DOMAIN="FWS.FR"
export HOST="laptop-dani"
export FQDN=$HOST.$(echo $DOMAIN | awk '{ print tolower($0) }')
cat <<_EOF > /etc/sssd/sssd.conf
[sssd]
services = nss, pam, pac
config_file_version = 2
domains = $DOMAIN
default_domain_suffix = $DOMAIN
[nss]
shell_fallback = /bin/false
[pam]
[domain/$DOMAIN]
id_provider = ad
access_provider = ad
ad_hostname = $FQDN
fallback_homedir = /home/%d/%u
default_shell = /bin/false
cache_credentials = true
krb5_store_password_if_offline = true
access_provider = ad
ad_access_filter = (&(objectCategory=person)(objectClass=user)(primaryGroupId=513))
enumerate = true
_EOF
chmod 600 /etc/sssd/sssd.conf
===== Joindre le domaine =====
adcli join $DOMAIN --host-fqdn=$FQDN
===== Configurer PAM et NSS =====
authconfig --enablesssd --enablesssdauth --enablemkhomedir --update
Il vaut mieux s'assurer que sss est utilisé après files dans nsswitch, sinon, plus grand chose ne marche
sed -i -e 's/sss files/files sss/g' /etc/nsswitch.conf
===== Démarrer et activer sssd =====
systemctl enable --now sssd
===== Modification SELinux pour les certificats utilisateurs =====
semanage fcontext -a -t home_cert_t "/home/[a-zA-Z\d]+(\.[a-zA-Z\d]+)+?/\w+/.(cert|pki)(/.*)?"
restorecon -Rv /home