diff --git a/HowToPAM.md b/HowToPAM.md new file mode 100644 index 00000000..8c9d8f69 --- /dev/null +++ b/HowToPAM.md @@ -0,0 +1,51 @@ +[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