Content-type: text/html
Ce manuel a pour but de vous offrir une introduction rapide à Linux-PAM. Pour davantage d'informations, le lecteur est invité à lire le Linux-PAM system administrators' guide.
Linux-PAM est un système de bibliothèques qui gèrent les tâches d'authentification des applications (services) sur le système. Les bibliothèques fournissent une interface d'abstraction stable (Application Programming Interface - API) qui accorde les privilèges aux programmes (comme login(1) et su(1)) en ajournant la réalisation des tâches standard d'authentification.
La principale fonctionnalité de l'approche de PAM est que la nature de l'authentification est configurable dynamiquement. En d'autres termes, l'administrateur système est libre de choisir individuellement de quelle manière les applications fournisseuses de service authentifieront leurs utilisateurs. Cette configuration dynamique est constituée par le fichier de configuration de Linux-PAM /etc/pam.conf. Alternativement, la configuration peut être effectuée par les fichiers de configuration individuels situés dans le répertoire /etc/pam.d/ La présence de ce répertoire aura pour conséquence que Linux-PAM ignorera" /etc/pam.conf.
Du point de vue de l'administrateur système, pour qui ce manuel est fait, il n'est pas essentiel de comprendre le comportement de la bibliothèque Linux-PAM "."Le point important est de percevoir que ce(s) fichier(s) de configuration définissent des connexions entre les applications (les services) et les modules d'authentification (PAMs) qui réalisent les tâches d'authentification actuelles.
Linux-PAM sépare les tâches d' authentification en quatre groupes de gestion indépendants : account management; authentication management; password management; et session management. (Nous soulignons les abréviations utilisées pour ces groupes dans le fichier de configuration.)
Leur présence permet à ces groupes de prendre en charge les différents aspects d'une requête classique d'utilisateur concernant un service limité aux utilisateurs autorisés :
account - fournit une vérification des types de service du compte utilisateur : Est-ce que le mot de passe de l'utilisateur a expiré ? ; Cet utilisateur a-t-il le droit d'accéder au service demandé ?
authentication -
établit la correspondance entre l'utilisateur et celui pour lequel
il prétend être. Habituellement cela se fait par une requête de défi-réponse
que l'utilisateur doit satisfaire : si vous êtes celui que vous prétendez
être,
vous devrez entrer votre mot de passe. Toutes les authentifications
ne sont pas de ce type, il existe des schémas d'authentification basés
sur le matériel (comme l'utilisation de cartes ou de périphériques
biométriques), avec les modules appropriés, ceux-ci peuvent être substitués
sans jointure afin d'avoir une approche plus traditionnelle
de l'authentification - c'est la flexibilité de
Linux-PAM.
password -
le rôle de ce groupe est de mettre à jour les mécanismes d'authentification.
Habituellement, les services sont fortement couplés avec un des groupes
auth.
Certains mécanismes d'authentification offrent la possibilité de se mettre
à jour d'eux-mêmes au moyen d'une fonction. La méthode standard sous UN*X
basée sur les mots de passe représente l'exemple évident : veuillez entrer
un mot de passe de remplacement.
session -
Ce groupe de tâches recouvre tout ce qui doit être fait en priorité
pour un service donné et après qu'il soit retiré. Ces tâches incluent
la maintenance de la journalisation et le montage du répertoire personnel
de l'utilisateur. La gestion du groupe
session
est importante parce qu'elle fournit un point d'accroche à l'ouverture
et à la fermeture des modules qui affectent les services disponibles pour
un utilisateur.
Quand Linux-PAM avise qu'il accorde des privilèges à une application, il active son lien avec l'API de PAM. Cette activation fournit un certain nombre de tâches. La plus importante étant la lecture du(des) fichier(s) de configuration : /etc/pam.conf. Autrement, il s'agit du contenu du répertoire /etc/pam.d/.
Ces fichiers listent le(s) PAMs qui prendront en charge l'authentification requise par le service, et la conduite appropriée de l'API PAM dans le cas de problèmes individuels de PAMs .
La syntaxe du fichier de configuration /etc/pam.conf se présente comme suit. Le fichier construit une liste de règles, chaque règle est habituellement placée sur une seule ligne, mais peut être étendue avec un caractère de fin de ligne : `\<LF>'. Les commentaires sont précédés du caractère '#' et valent jusqu'à la prochaine fin de ligne.
Le format de chaque règle est un espace séparé par une paire de signes, les trois premiers sont sensibles à la casse :
service type contrôle chemin paramètres
La syntaxe des fichiers contenus dans le répertoire /etc/pam.d/ est identique excepté que le champ service est absent. Dans ce cas, le service est le nom du fichier dans le répertoire /etc/pam.d/ . Le nom de fichier doit être en minuscules.
Une importante particularité de Linux-PAM, est que le nombre de règles peut être empilé pour combiner les services de plusieurs PAMs pour une tâche d'authentification donnée.
Le service est habituellement le nom familier de l'application correspondante : login et su en sont de bons exemples. Le nom de service, other , est réservé pour donner des règles par default . Seules les lignes qui mentionnent le service courant (ou en cas d'absence de l'entrée other) seront associées avec l'application ou le service associé.
Le type est le groupe de gestion auquel les règles correspondent. C'est utilisé pour spécifier à quel groupe de gestion le module qui suit sera associé. Les entrées valides sont : account; auth; password; et session. La signification de chacune de ces instructions à été expliquée plus haut.
Le troisième champ, control, indique le comportement que L'API PAM doit avoir lorsque le module ne parvient pas à accomplir la tâche d'authentification. Les valeurs valides pour control sont : requisite
- échec de certains résultats d'un plugin PAM à la fin du processus d'authentification ; required - échec de certains plugin PAM va immédiatement mener l'API de PAM mais seulement après que les derniers modules empilés (pour ce service et ce type) aient étés invoqués ; sufficient - le succès d'un module est suffisant pour permettre les besoins de l'authentification de la pile de modules (si un module prioritaire required a échoué ou si celui-ci est ignoré) ; optional - seul le succès ou l'échec de ce module est important si il s'agit du seul module associé avec ce service+type.
chemin - Il s'agit du nom de fichier et du chemin d'accès au plugin PAM utilisé par l'application.
paramètres - Il s'agit d'un espace séparé par une liste de valeurs qui peuvent être prises pour modifier le comportement du plugin PAM donné. Certains paramètres seront documentés pour chaque module.
Notez que pour se conformer au standard LFS (Linux File-system Standard), les bibliothèques et les modules de votre système doivent respectivement se trouver dans /lib et /lib/security.
Aucun connu.
Les trois guides sur Linux-PAM , pour Administrateurs système, développeurs de modules, et développeurs d'applications.