Authentifier un poste CentOS sur SME avec SSSD - WikiT
Transcription
Authentifier un poste CentOS sur SME avec SSSD - WikiT
13/12/2016 07:06 1/5 Authentifier un poste CentOS sur SME avec SSSD Authentifier un poste CentOS sur SME avec SSSD sssd est aussi disponible sur CentOS 5. Sont principal intérêt par rapport à nss_ldap est qu'il peut conserver en cache les informations d'authentification, et donc fonctionner en mode hors ligne (si le serveur central est indisponible) Installer les paquets La première étape est d'installer les paquets nécessaires: yum install sssd Configurer sssd sssd se configure de manière classique (idem Ubuntu et Fédora par exemple). Il faut d'abord définir les domaines utilisés (dans /etc/sssd/sssd.conf): # # # # ; SSSD will not start if you do not configure any domains. Add new domain configurations as [domain/<NAME>] sections, and then add the list of domains (in the order you want them to be queried) to the "domains" attribute below and uncomment it. domains = LOCAL,LDAP domains = FIREWALL Puis, vers la fin du fichier, ajouter la configuration de ce domaine [domain/FIREWALL] id_provider = ldap auth_provider = ldap ldap_schema = rfc2307 ldap_uri = ldap://sme.domain.tld ldap_default_bind_dn = uid=auth,ou=Users,dc=domain,dc=tld ldap_default_authtok = something_very_secret ldap_default_authtok_type = password ldap_search_base = dc=domain,dc=tld ldap_user_search_base = ou=Users,dc=domain,dc=tld ldap_group_search_base = ou=Groups,dc=domain,dc=tld ldap_user_object_class = inetOrgPerson ldap_user_gecos = cn ldap_tls_reqcert = hard ldap_tls_cacert = /etc/pki/tls/certs/ca.pem ldap_id_use_start_tls = true WikiT - https://wikit.firewall-services.com/ Last update: tuto:ipasserelle:authentification:centos_sssd_on_sme https://wikit.firewall-services.com/doku.php/tuto/ipasserelle/authentification/centos_sssd_on_sme 23/10/2014 12:53 # à dé-commenter si votre serveur SME est une iPasserelle # ldap_user_shell = desktopLoginShell cache_credentials = true enumerate = true # Il est possible de limiter l'accès via un filtre LDAP en # dé-commentant ces deux lignes. Dans cet exemple, seuls les # membres du groupe netusers seront valides sur cet hôte # posixMemberOf est un attribut disponible uniquement sur une iPasserelle # access_provider = ldap # ldap_access_filter = posixMemberOf=netusers Au final votre fichier de configuration /etc/sssd/sssd.conf devrait ressembler à ça: sssd.conf [sssd] config_file_version = 2 services = nss, pam domains = FIREWALL [nss] [pam] [domain/FIREWALL] id_provider = ldap auth_provider = ldap ldap_schema = rfc2307 ldap_uri = ldap://sme.domain.tld ldap_default_bind_dn = uid=auth,ou=Users,dc=domain,dc=tld ldap_default_authtok = something_very_secret ldap_default_authtok_type = password ldap_search_base = dc=domain,dc=tld ldap_user_search_base = ou=Users,dc=domain,dc=tld ldap_group_search_base = ou=Groups,dc=domain,dc=tld ldap_user_object_class = inetOrgPerson ldap_user_gecos = cn ldap_tls_reqcert = hard ldap_tls_cacert = /etc/pki/tls/certs/ca.pem ldap_id_use_start_tls = true # Possible de décommenter cette ligne si votre serveur SME est une iPasserelle # ldap_user_shell = desktopLoginShell cache_credentials = true enumerate = true # # Il est possible de limiter l'accès via un filtre LDAP en # # dé-commentant ces deux lignes. Dans cet exemple, seuls les # # membres du groupe netusers seront valides sur cet hôte https://wikit.firewall-services.com/ Printed on 13/12/2016 07:06 13/12/2016 07:06 3/5 Authentifier un poste CentOS sur SME avec SSSD # # posixMemberOf est un attribut disponible uniquement sur une iPasserelle # access_provider = ldap # ldap_access_filter = posixMemberOf=netusers Le fichier /etc/sssd/sssd.conf doit être en 600 Configurer nss Pour que NSS puisse utiliser sssd comme backend, il faut éditer /etc/nsswitch.conf, et rajouter sss comme source d'utilisateurs et de groupes: [...] passwd: shadow: group: [...] netgroup: files sss files sss files sss files sss Cette étape est faite automatiquement à partir de CentOS 7 Une fois cette modification effectuée, on peut vérifier si ça fonctionne, la commande getent passwd devrait lister les utilisateurs LDAP. Si ce n'est pas le cas, pas la peine d'aller plus loin. Il faut débuguer (en lançant sssd en mode interractif avec sssd -i -d 5 par exemple) Configurer pam Il ne reste plus qu'à configurer pam pour que lui aussi utilise sssd comme source. CentOS 5 rm -f /etc/pam.d/system-auth cat <<'EOF' > /etc/pam.d/system-auth #%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 WikiT - https://wikit.firewall-services.com/ Last update: tuto:ipasserelle:authentification:centos_sssd_on_sme https://wikit.firewall-services.com/doku.php/tuto/ipasserelle/authentification/centos_sssd_on_sme 23/10/2014 12:53 auth auth auth requisite sufficient required pam_succeed_if.so uid >= 500 quiet pam_sss.so use_first_pass pam_deny.so account account account account required pam_unix.so sufficient pam_succeed_if.so uid < 500 quiet [default=bad success=ok user_unknown=ignore] pam_sss.so required pam_permit.so password password use_authtok password password requisite sufficient pam_cracklib.so try_first_pass retry=3 pam_unix.so md5 shadow nullok try_first_pass sufficient required pam_sss.so use_authtok pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_mkhomedir.so skel=/etc/skel umask=0077 session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_sss.so EOF CentOS 6 / 7 rm -f /etc/pam.d/system-auth cat <<'EOF' > /etc/pam.d/system-auth #%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 account account account required pam_unix.so sufficient pam_succeed_if.so uid < 500 quiet [default=bad success=ok user_unknown=ignore] pam_sss.so required pam_permit.so password password use_authtok password password requisite sufficient pam_cracklib.so try_first_pass retry=3 type= pam_unix.so sha512 shadow nullok try_first_pass sufficient required pam_sss.so use_authtok pam_deny.so https://wikit.firewall-services.com/ Printed on 13/12/2016 07:06 13/12/2016 07:06 5/5 Authentifier un poste CentOS sur SME avec SSSD session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_mkhomedir.so skel=/etc/skel umask=0077 session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_sss.so EOF rm -f /etc/pam.d/password-auth ln -sf system-auth /etc/pam.d/password-auth Et voilà, reste plus qu'à tester l'ensemble Une fois que tout fonctionne, il ne manque plus qu'à activer le démon sssd au démarrage: chkconfig sssd on ou systemctl enable sssd From: https://wikit.firewall-services.com/ - WikiT Permanent link: https://wikit.firewall-services.com/doku.php/tuto/ipasserelle/authentification/centos_sssd_on_sme Last update: 23/10/2014 12:53 WikiT - https://wikit.firewall-services.com/