Au cours des derniers jours, j'ai mis en place un système Linux avec authentification LDAP et tout fonctionne bien, mais il y a encore quelque chose que je ne peux pas vraiment comprendre concernant NSS et PAM, également après de nombreuses recherches.
Citant:
NSS permet aux administrateurs de spécifier une liste de sources où les fichiers d'authentification, les noms d'hôte et d'autres informations seront stockés et recherchés
et
PAM est un ensemble de bibliothèques qui fournissent une plate-forme d'authentification configurable pour les applications et le système d'exploitation sous-jacent
Ce que je ne comprends pas, c'est comment PAM et NSS fonctionnent et interagissent ensemble. Dans ce livre, l'architecture est assez bien expliquée: je configure PAM à utiliser pam_ldap
pour les comptes LDAP et pam_unix
pour les comptes locaux, puis je configure nsswitch.conf
pour récupérer les informations des fichiers locaux et LDAP.
Si j'ai bien compris, LDAP est utilisé deux fois: d'abord pam_ldap
par NSS qui est lui-même appelé depuis pam_unix
. Est-ce correct? LDAP est-il vraiment utilisé deux fois? Mais pourquoi dois-je configurer à la fois NSS et PAM? Mon explication est que PAM effectue des tâches différentes de NSS et qu'il est utilisé par d'autres programmes. Mais, alors, il devrait être possible d'utiliser uniquement NSS ou uniquement PAM, comme je l'ai lu dans cette page .
J'ai donc expérimenté un peu et j'ai d'abord essayé de supprimer LDAP de nsswitch.conf
(et l'authentification s'est arrêtée pour fonctionner comme si seul pam_ldap n'était pas suffisant pour faire le travail). Ensuite, j'ai réactivé LDAP dans NSS et je l'ai supprimé de la configuration PAM (cette fois, tout a bien fonctionné, comme s'il pam_ldap
était inutile et NSS est suffisant pour authentifier un utilisateur).
Y a-t-il quelqu'un qui peut m'aider à clarifier cela? Merci d'avance.
MISE À JOUR
Je viens d'essayer quelque chose maintenant. J'ai supprimé à nouveau toutes les pam_ldap
entrées dans tous les champs de configuration de pam et j'ai également supprimé shadow: ldap
de nsswitch.conf
. Comme maintenant dans tout le système, il n'y a que les lignes: passwd: ldap files
et group: ldap files
dans nsswitch.conf
. Eh bien ... la connexion avec les utilisateurs LDAP fonctionne parfaitement, ces deux lignes (plus /etc/ldap.conf
) suffisent pour configurer l'authentification LDAP.
D'après mes connaissances, PAM est indépendant de NSS, mais mes tests ont montré que ce n'était pas le cas. Je me demande donc s'il est possible de désactiver complètement NSS et d'utiliser uniquement PAM?
getent shadow | grep LDAPUSER
grep LDAPUSER /etc/shadow