informatique:reseau:ldap:authentification_unix_via_sssd

Ceci est une ancienne révision du document !


Authentification UNIX via SSSd

apt install sssd sssd-ldap sssd-tools libpam-sss libnss-sss
  • Créer le fichier /etc/sssd/sssd.conf :
    [sssd]
    config_file_version = 2
    reconnection_retries = 3
    sbus_timeout = 30
    services = nss, pam
    domains = example
    debug_level = 2
     
    [nss]
    filter_groups = root
    filter_users = root
    reconnection_retries = 3
    fallback_homedir = /tmp
    shell_fallback = /bin/bash
    debug_level = 2
     
    [pam]
    reconnection_retries = 3
    debug_level = 2
     
    [domain/example]
    timeout = 5
    min_id = 100
    max_id = 0
    use_fully_qualified_names = false
    enumerate = true
    cache_credentials = true
    sudo_provider = none
     
    id_provider = ldap
    access_provider = ldap
    auth_provider = ldap
     
    ldap_uri = ldaps://ldap.example.com:636
    ldap_tls_reqcert = demand
    ldap_search_base = o=example
    ldap_default_bind_dn = uid=sssd,ou=sysaccounts,o=example
    ldap_default_authtok_type = password
    ldap_default_authtok = secret_pwd
     
    ldap_schema = rfc2307
    ldap_deref = always
     
    ldap_user_object_class = posixAccount
    ldap_user_search_base = ou=people,o=example
    ldap_access_filter = (myEnabled=TRUE)
     
    ldap_group_object_class = posixGroup
    ldap_group_search_base = ou=groups,o=example
  • Ajuster les droits de ce nouveau fichier :
    chown root:root /etc/sssd/sssd.conf
    chmod 0600 /etc/sssd/sssd.conf
  • Redémarrer le service pour prise en compte :
    service sssd restart

Activer sss pour les diverses services déclarer dans le fichier /etc/nsswitch.conf. Par exemple :

# /etc/nsswitch.conf

passwd:         compat sss
group:          compat sss
shadow:         compat sss
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files sss
ethers:         db files
rpc:            db files

netgroup:       nis sss
sudoers:        files sss

Ajouter la ligne suivante à la fin du fichier /etc/pam.d/common-session :

session required pam_mkhomedir.so skel=/etc/skel/ umask=0077 silent

Il est possible de faire en sorte que les clés SSH publiques autorisées des utilisateurs soient récupérées dans l'annuaire LDAP (si elles y sont stockées).

Pour cela :

  • Éditez le fichier /etc/sssd/sssd.conf :
    • Dans la section [sssd] ajouter le service ssh :
      services = nss, pam, ssh
    • Dans la section de votre domain, ajouter :
      ldap_user_ssh_public_key = mySshPubKey
  • Redémarrer le service pour prise en compte :
    service sssd restart
  • Dans le fichier /etc/ssh/sshd_config, ajouter :
    AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
    AuthorizedKeysCommandUser nobody
  • Recharger la configuration du service ssh pour prise en compte :
    service ssh reload
  • informatique/reseau/ldap/authentification_unix_via_sssd.1642009164.txt.gz
  • Dernière modification : 2022/01/12 17:39
  • de bn8