Au cœur de la gestion des utilisateurs et de leurs permissions, le système GNU/Linux recèle un mécanisme modulaire et extensible pour faire face à tous les usages actuels et futurs, liés à la preuve d'identité. Intéressons-nous, à travers un cas pratique, à ces modules interchangeables d'authentification, utiles tant aux applicatifs qu'au système lui-même.
Après une présentation simplifiée du mécanisme des Linux Pluggable Authentication Modules, nous appliquerons nos connaissances sur un cas pratique (vécu) qui, sans receler une grande complexité technique, nous suffira à illustrer le processus. Il s'agira d'exploiter l'architecture PAM en compilant un module personnalisé pour permettre l'exécution d'une action au moment d'une connexion FTP entrante.
1. Un peu de théorie
Le moyen le plus élémentaire de se connecter à un système consiste à s'identifier avec un username et à se justifier avec un mot de passe. À l'instar de l'ancêtre UNIX, l'annuaire des comptes est sur fichier (/etc/passwd et /etc/shadow pour les hachés de mots de passe).
Mais, pour démarrer une session, on peut imaginer un grand nombre de scénarios que ce mécanisme primitif ne permet pas de réaliser. Listons quelques exemples :
- la présentation d'une clé privée au lieu d'un mot de passe ;
- l'utilisation d'un moyen biométrique...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première