[Work in progress]

PAM (Pluggable Authentication Modules) est un ensemble de librairies qui fournit aux programmes un moyen d'authentification unifié indépendant de la méthode d'authentification configurée sur le système : mots de passe locaux, LDAP...

La configuration de PAM pour les applications qui l'utilisent se situe dans `/etc/pam.d/*`. Chaque application a son fichier de configuration, par exemple `/etc/pam.d/sshd`.


# Syntaxe des fichiers de configuration

La configuration est constituée de lignes qui ont la forme :

~~~
type control-flag module_path [module_arguments]
~~~

Commentaires :

* type : 
* control_flag : 
* module_path : 
* module-arguments : arguments passés pour contrôler le module


# Utilisation concrète

## Vérifier si un programme est capable d'utiliser PAM

Par exemple pour `sshd` : 
~~~
$ ldd /usr/sbin/sshd | grep libpam.so
~~~

## Ne pas envoyer les messages de connexion SSH d'un utilisateur

Dans `/etc/pam.d/sshd`, on ajoute :

~~~
session [success=done default=ignore] pam_succeed_if.so quiet service in sshd user = my_user
~~~

Juste avant la ligne :

~~~
# Standard Un*x session setup and teardown.
@include common-session
~~~

Commentaires :

* `quiet` signale à PAM ne pas logger les messages quand `sshd user = my_user`
* `success=done` signale à PAM d'appliquer la règle si `pam_succeed_if.so` renvoie
