getent passwd ne fonctionne pas; Authentification LDAP CentOS 7 et SSSD

9

J'ai installé CentOS 7 sur un tout nouveau serveur. Tous mes serveurs obtiennent l'authentification de l'utilisateur final via LDAPS sur divers systèmes tels que RHEL5, Debian et Solaris. J'ai remarqué qu'il y a une nouvelle couche sur CentOS 7 qui est SSS au-dessus de NSS et PAM. Quoi qu'il en soit, j'essaie de répliquer le même type de connexion que l'autre serveur.

La commande ldapsearch -xse lie dans LDAP, mais pas dans LDAPS.

En creusant le problème, j'ai essayé de faire une connexion dans LDAP en serrant la couche SSS en mettant ces lignes dans mon /etc/nsswitch.conf

passwd:     files ldap #sss 
shadow:     files ldap #sss 
group:      files ldap #sss 

Et j'ai ajouté cette ligne dans le /etc/sssd/sssd.conf

cache_credentials = False

Et j'ai redémarré ssd.

systemctl restart sssd

Je vérifie avec la commande authconfig --testet tout semble ok: ( http://www.heypasteit.com/clip/1LZ2 )

dubis
la source

Réponses:

9

Je ne sais pas si c'est la bonne solution mais j'ai remarqué dans la FAQ SSSD ce point:

Quand dois-je activer l'énumération dans SSSD? ou Pourquoi l'énumération est-elle désactivée par défaut?

"Énumération" est le terme de SSSD pour "lire et afficher toutes les valeurs d'une carte particulière (utilisateurs, groupes, etc.)". Nous désactivons cela par défaut dans le SSSD afin de minimiser la charge sur les serveurs avec lesquels le SSSD doit communiquer. Dans la plupart des opérations, la liste de l'ensemble complet des utilisateurs ou des groupes ne sera jamais nécessaire. Les applications demandent généralement des informations sur des utilisateurs ou des groupes spécifiques.

L'énumération de toutes les entrées a un impact négatif sur la charge sur le serveur et les performances sur le client (car nous devons enregistrer toutes les relations complexes entre les utilisateurs et les groupes auxquels ils appartiennent dans le cache local). Donc à cause de cela, nous livrons avec des énumérations désactivées (le même comportement que le winbind du projet Samba).

Vous ne devez activer les énumérations (et les problèmes de performances qui en résultent) que si vous avez des applications ou des scripts dans votre environnement qui doivent absolument pouvoir récupérer les listes complètes. Dans ces cas, l'énumération peut être activée en définissant

   [domain/<domainname>]
   enumerate = true
   ...

dans votre fichier sssd.conf.

Cela a permis d' getent passwdafficher tous les comptes disponibles via SSSD. Soyez averti que cela peut être un frein aux performances.

slm
la source