Blog notes Aternatik

Accueil du site
Accueil du site > Articles et ressources > LDAP > Authentification PAM / LDAP

Authentification PAM / LDAP

mardi 18 septembre 2007, par Aternatik

Aide mémoire pour la mise en place pour l’authentification des utilisateurs d’un système sur un serveur LDAP.
(3.16 - 1 vote)


Le serveur LDAP (OpenLDAP) est déjà installé et configuré. Cet article sert de mémo pour la configuration de PAM sur les postes clients.

Installation des paquets et librairies

On va installer le module ldap pour PAM, la librairie pour NSS qui va permettre d’interroger LDAP et nscd qui va servir de cache.


apt-get install  libnss-ldap libpam-ldap ldap-utils nscd

Configuration de libnss-ldap

A l’installation du paquet, Debconf demande les paramètres du serveur LDAP. Renseigner les selon la configuration (dc=aternatik,dc=org) en précisant qu’il ne faut pas d’identification et que le fichier ne doit pas être lisible et modifiable uniquement par root.

Fichier de configuration /etc/libnss-ldap.conf

Quelques options sont importantes, d’autres moins ;)


base dc=aternatik,dc=org

# Adresse du serveur LDAP
uri ldap://127.0.0.1

# Important !!!
bind_policy soft

# Facultatif
nss_base_passwd        ou=People,dc=aternatik,dc=org?one
nss_base_shadow        ou=People,dc=aternatik,dc=org?one
nss_base_group         ou=Group,dc=aternatik,dc=org?one

bind_policy est mis sur "soft" : dans le cas ou le serveur LDAP serait injoignable, on peut quand même se logguer…

Fichier /etc/nsswitch.conf

Avec ce fichier, on dit au système d’interroger l’annuaire LDAP en plus des fichiers :


passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

Pour tester si tout fonctionne, la commande getent passwwd devrait retourner les utilisateurs contenus dans LDAP.

Configuration de PAM

Les paramètres de l’annuaire LDAP sont déjà renseignés à l’installation du paquet. Il faut maintenant configurer PAM pour qu’il se serve des données contenues dans LDAP. Tout se situe dans le répertoire /etc/pam.d. Pour plus de sureté, il est conseillé de faire une sauvegarde de ce répertoire et de garder sur la machine une session root (pour pouvoir revenir en arrière…) PAM est délicat et tous les services d’identification de la machine peuvent être perturbés… Vous voilà prévenu !

Modifier les fichiers suivant :

/etc/pam.d/common-account :


account         required        pam_unix.so
account         sufficient      pam_ldap.so

/etc/pam.d/common-session


session         required        pam_unix.so
session         optional        pam_ldap.so

/etc/pam.d/common-auth


auth            required        pam_unix.so nullok_secure
auth            sufficient      pam_ldap.so use_first_pass

/etc/pam.d/common-passwd


password        required       pam_unix.so nullok obscure min=4 max=8 md5
password        sufficient      pam_ldap.so use_authtok

Et voilou ! Pour tester : su -utilisateur present dans LDAP-

NSCD : le cache des données utilisateurs

Pour limiter les requêtes vers LDAP, nscd fournit un cache. Les options de configuration sont dans le fichier /etc/nscd.conf. Voici un exemple :


       enable-cache            passwd          yes
       positive-time-to-live   passwd          600
       negative-time-to-live  passwd          20
       suggested-size          passwd          211
       check-files                 passwd          yes
       persistent                 passwd          yes
       shared                      passwd          yes

Les actions de nscd (Cf fichier log)


1558: add new entry "keen" of type GETPWBYNAME for passwd to cache (first)
1558: remove GETHOSTBYNAME entry "196.247.140-88.rev.gaoland.net"
1558: remove GETHOSTBYADDR entry "88.140.247.196"
1558: freed 680 bytes in hosts cache

Il est possible de gérer le cache de nscd en précisant le nombre d’entrées à garder en mémoire et combien de temps. Pas de secret pour les valeurs, il faut tester !

Quelques liens

Avis / commentaires


Création de sites internet : Aternatik Site valide Xhtml Site valide CSS

Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP | squelette