Association Générale des Utilisateurs de logiciels libres en Côte-d'Or
Rubriques
Notre ami Tux en rodéo sur l'escargot de Bourgogne :-) |
Informations et configuration de PAM (Pluggable Authentification Modules)
But de ce documentCe document me sert de mémo pour la compréhension et la configuration de PAM (Pluggable Authentification Modules » sous Debian. Je le diffuse en espérant qu’il serve à d’autres personnes. PAM c’est quoi ?Le système PAM est un ensemble de modules permettant de gérer l’authentification sur un système Linux. Cela permet de rendre les différents programmes nécessitant une authentification (login, su, ssh, kdm,..) indépendants de la base de données gérant les comptes utilisateurs (passwd, LDAP, MySQL, Domaine Windows avec Winbind,...). De plus avec PAM, l’authentification ne se limite pas à la gestion d’un login/password, mais va beaucoup plus loin comme nous le verrons dans ce document. ATTENTIONUne erreur dans la modification des fichiers de configuration de PAM peut entraîner l’impossibilité de se connecter même sous root. Avant de modifier la configuration, il est fortement recommandé de se connecter sous une autre console en root pour pouvoir corriger le problème. Les 4 groupes de modulesDans un fichier de configuration de PAM, nous allons retrouver les différents modules répartis en 4 groupes. Un module (ex : pam_unix.so) pouvant être utilisé dans plusieurs groupes.
Présentation des différents fichiers de configurations de PAMLes fichiers de configurations de PAM, sont disponibles dans « /etc/pam.d/ ». Dans ce dossier, nous retrouverons un fichier de configuration pour chaque service (programme) ayant besoin d’une authentification (su, login, ssh, ftp,..). Nous trouverons également des fichiers communs (common-*) permettant de simplifier la configuration. Ces fichiers communs seront inclus dans les fichiers des services à l’aide de la directive « @include common-* ». Présentation de quelques fichiers disponibles dans « /etc/pam.d/ :
Les indicateurs de contrôle de PAMLors d’une vérification, chaque module retourne un résultat et en fonction de celui-ci et de l’indicateur de contrôle indiqué avant, PAM sait ce qu’il doit faire. Il existe plusieurs indicateurs de contrôle :
Les arguments passés en optionsChaque module peut utiliser des arguments. Ceux-ci sont écrits à la fin du nom du module. Par exemple, voici les arguments que le l’on peut trouver pour le module « pam_unix » :
Exemple de fichier de configurationDans un fichier nous retrouverons, un ou plusieurs modules avec un indicateur de contrôle (required, sufficient,..) avant le nom du module et éventuellement des options de configuration après (debug, nullok, use_first_pass ,..) Attention : L’ordre des modules dans un fichier de configuration de PAM est important. Un fichier de configuration PAM ressemble à ceci : #%PAM-1.0La première ligne est un commentaire car elle commence par un #
Cette ligne sert à s’assurer que, si l’utilisateur essaie de se connecter en tant qu’utilisateur root, le terminal sur lequel il se connecte fait partie de la liste se trouvant dans le fichier /etc/securetty, si ce fichier existe.
Cette ligne fait en sorte que le mot de passe de l’utilisateur soit demandé et vérifié.
Cette ligne vérifie si le fichier /etc/nologin existe. Si c’est le cas et que l’utilisateur n’est pas un utilisateur root, l’authentification échoue.
Cette ligne active la vérification des comptes si nécessaire. Par exemple, si des mots de passe masqués ont été activés, le module pam_unix.so vérifie si le compte est périmé ou si l’utilisateur a changé son mot de passe pendant le délai de grâce alloué.
Cette ligne teste les mots de passe récemment modifiés afin de déterminer s’ils peuvent être détectés facilement par un programme de détermination de mots de passe utilisant un dictionnaire.
Cette ligne spécifie que le module pam_unix.so doit être utilisé si le programme login change le mot de passe de l’utilisateur. (Cela ne se produit que lorsqu’un module auth détermine que le mot de passe doit être changé - quand un mot de passe masqué est périmé, par exemple.)
Cette ligne indique que le module pam_unix.so doit être utilisé pour gérer la session. En ce moment, ce module ne fait rien du tout ; il pourrait être remplacé par tout autre module nécessaire ou complété par la superposition de modules. Autres sources de documentation :Page de man en français : http://www.delafond.org/traducmanfr/man/man8/pam.8.html La bible sur PAM en anglais : http://www.kernel.org/pub/linux/libs/pam/ Référence des modules : http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/pam-6.html Historique des modifications
Article précédent : Ajout de l’utilisateur admin sous Debian.
Article suivant : Installer SystemRescueCd sur son disque dur
Forum
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||