Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tuto:ipasserelle:authentification:centos_sssd_on_sme [18/04/2011 17:28]
dani [Configurer pam]
tuto:ipasserelle:authentification:centos_sssd_on_sme [23/10/2014 12:53] (Version actuelle)
dani [CentOS 6 / 7]
Ligne 1: Ligne 1:
-====== 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) 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 ===== ===== Installer les paquets =====
 +
  
 La première étape est d'installer les paquets nécessaires: La première étape est d'installer les paquets nécessaires:
 +
  
 <code bash> <code bash>
 yum install sssd yum install sssd
 </code> </code>
 +
  
 ===== Configurer 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 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):
 +
  
 <code> <code>
Ligne 23: Ligne 31:
 domains = FIREWALL domains = FIREWALL
 </code> </code>
 +
  
 Puis, vers la fin du fichier, ajouter la configuration de ce domaine Puis, vers la fin du fichier, ajouter la configuration de ce domaine
 +
 +
 <code> <code>
 [domain/FIREWALL] [domain/FIREWALL]
Ligne 50: Ligne 61:
 # membres du groupe netusers seront valides sur cet hôte # membres du groupe netusers seront valides sur cet hôte
 # posixMemberOf est un attribut disponible uniquement sur une iPasserelle # posixMemberOf est un attribut disponible uniquement sur une iPasserelle
-#access_provider = ldap +# access_provider = ldap 
-#ldap_access_filter = posixMemberOf=netusers+# ldap_access_filter = posixMemberOf=netusers
 </code> </code>
 +
 +Au final votre fichier de configuration /etc/sssd/sssd.conf devrait ressembler à ça:
 +<hidden afficher le fichier de configuration >
 +<file ini 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
 +# # posixMemberOf est un attribut disponible uniquement sur une iPasserelle
 +# access_provider = ldap
 +# ldap_access_filter = posixMemberOf=netusers
 +
 +</file>
 +</hidden>
 +
 +<note important>Le fichier /etc/sssd/sssd.conf doit être en 600</note>
  
 ===== Configurer nss ===== ===== 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: Pour que NSS puisse utiliser sssd comme backend, il faut éditer /etc/nsswitch.conf, et rajouter sss comme source d'utilisateurs et de groupes:
 +
 +
 <code> <code>
 [...] [...]
Ligne 64: Ligne 123:
 netgroup:   files sss netgroup:   files sss
 </code> </code>
 +
 +<note tip>Cette étape est faite automatiquement à partir de CentOS 7</note>
  
 Une fois cette modification effectuée, on peut vérifier si ça fonctionne, la commande Une fois cette modification effectuée, on peut vérifier si ça fonctionne, la commande
-<code bash> + 
-getent passwd+ 
 +<code bash>getent passwd
 </code> </code>
 +
 +
 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) 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 ===== ===== Configurer pam =====
 +
 +
 Il ne reste plus qu'à configurer pam pour que lui aussi utilise sssd comme source. Il ne reste plus qu'à configurer pam pour que lui aussi utilise sssd comme source.
 +
 +==== CentOS 5 ====
 +
 +
 <code bash> <code bash>
 rm -f /etc/pam.d/system-auth rm -f /etc/pam.d/system-auth
Ligne 84: Ligne 155:
 auth        sufficient    pam_sss.so use_first_pass auth        sufficient    pam_sss.so use_first_pass
 auth        required      pam_deny.so auth        required      pam_deny.so
 + 
 account     required      pam_unix.so account     required      pam_unix.so
 account     sufficient    pam_succeed_if.so uid < 500 quiet account     sufficient    pam_succeed_if.so uid < 500 quiet
 account     [default=bad success=ok user_unknown=ignore] pam_sss.so account     [default=bad success=ok user_unknown=ignore] pam_sss.so
 account     required      pam_permit.so account     required      pam_permit.so
 + 
 password    requisite     pam_cracklib.so try_first_pass retry=3 password    requisite     pam_cracklib.so try_first_pass retry=3
 password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
 +password    sufficient    pam_sss.so use_authtok
 +password    required      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
 +</code>
 +
 +==== CentOS 6 / 7 ====
 +<code bash>
 +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     required      pam_unix.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 type=
 +password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
 password    sufficient    pam_sss.so use_authtok password    sufficient    pam_sss.so use_authtok
 password    required      pam_deny.so password    required      pam_deny.so
Ligne 102: Ligne 205:
 session     optional      pam_sss.so session     optional      pam_sss.so
 EOF EOF
 +rm -f /etc/pam.d/password-auth
 +ln -sf system-auth /etc/pam.d/password-auth
 </code> </code>
  
 Et voilà, reste plus qu'à tester l'ensemble 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:
 +<code bash>
 +chkconfig sssd on
 +</code>
 +
 +ou
 +
 +<code bash>
 +systemctl enable sssd
 +</code>
  • tuto/ipasserelle/authentification/centos_sssd_on_sme.1303140536.txt.gz
  • Dernière modification: 18/04/2011 17:28
  • de dani