diff --git a/HowtoPAM.md b/HowtoPAM.md index f6e6cbe5..35534866 100644 --- a/HowtoPAM.md +++ b/HowtoPAM.md @@ -1,5 +1,3 @@ -[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`. @@ -7,6 +5,8 @@ La configuration de PAM pour les applications qui l'utilisent se situe dans `/et # Syntaxe des fichiers de configuration +Documentation : + La configuration est constituée de lignes qui ont la forme : ~~~ @@ -15,10 +15,12 @@ type control_flag module_path [module_arguments] Commentaires : -* type : -* control_flag : -* module_path : -* module_arguments : arguments passés pour contrôler le module +* type : Module type/context/interface. +* control_flag : Indique à PAM le comportement à adopter en cas d'échec de l'authentification. + * Syntaxe simple (historique) : un seul mot-clé. + * Syntaxe avancée : liste de paires `value=action` entre crochets `[ ]` et séparée par des espaces. +* module_path : Chemin du module pam à utiliser (souvent un .so). Par défaut, PAM les cherche dans `/lib/security/` ou `/lib64/security/` selon l'architecture. +* module-arguments : Arguments passés au module. # Utilisation concrète @@ -33,20 +35,19 @@ $ 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 : +Dans `/etc/pam.d/sshd`, juste avant la ligne : ~~~ # Standard Un*x session setup and teardown. @include common-session ~~~ +On ajoute : + +~~~ +session [success=ok default=ignore] pam_succeed_if.so quiet service in sshd user = my_user +~~~ + 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 +* `quiet` signale à PAM de ne pas logger les messages quand `sshd user = my_user`