Ceci est une ancienne révision du document !
Lecteur d'empreintes FPrint
FPrint est un projet visant à améliorer le support des lecteurs biométriques sous Linux. D'autres existent comme thinkfinger, qui fonctionnent pour certains mais pas pour d'autres. FPrint supporte un assez grand nombres de lecteurs d'empreintes du marché, notamment une grande partie des très répandus AES de AuthenTec.
Mon lecteur biométrique est-il supporté par FPrint ?
Pour savoir si votre lecteur est supporté par FPrint, commencez par trouver de quel modèle il s'agit précisément, via la commande lsusb
:
lsusb
Vous verrez quelque chose du genre :
Bus 003 Device 001: ID 0000:0000 Bus 002 Device 002: ID 08ff:2580 AuthenTec, Inc. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
Ce qui nous intéresse sont les identifiants du vendeur (Vendor ID) et du modèle (Product ID), ici un AuthenTec, les identifiant sont 08ff et 2580.
Vous pouvez maintenant comparer les identifiants avec ceux listés sur le site du projet : http://www.reactivated.net/fprint/wiki/Libfprint:Supported_devices ; s'il y a une correspondance, cela devrait fonctionner. Il existe une page répertoriant les matériels connus pour ne pas fonctionner, voyez ici : http://www.reactivated.net/fprint/wiki/Unsupported_devices ; si votre matériel en fait partie, inutile de continuer, il ne va pas fonctionner. Vous pouvez alors essayer d'autres pilotes comme thinkfinger.
Si votre matériel n'est listé sur aucune des deux pages, vous pouvez essayer, et voir par vous-même si cela fonctionne.
Installation
Pour Hardy
Si vous utilisez Ubuntu Hardy, ajoutez le dépôt suivant :
deb http://ppa.launchpad.net/madman2k/ubuntu hardy main restricted universe multiverse
puis installez les paquets libpam-fprint libfprint fprint-demo
Pour Gutsy x86
Si vous utilisez Ubuntu Gutsy en version x86, vous pouvez télécharger les paquets sous forme d'archive tar à l'adresse suivante : http://www.madman2k.net/comments/105
Un fois l'archive téléchargée, décompressez-là puis installez les trois paquets contenus dans l'archive.
Pour les versions antérieurs à Gutsy
Il n'existe malheureusement des paquets que pour Gutsy x86 et Hardy, il vous faudra donc compiler les sources pour faire fonctionner votre lecteur d'empreintes.
Récupérer les sources
Commencez par télécharger les sources de libfprint, pam_fprint et fprint_demo dans votre répertoire personnel depuis le site de fprint.
Une fois les sources téléchargées, créez un nouveau répertoire nommé par exemple fprint_build ; et décompressez-y les trois archives téléchargées. Par exemple en ligne de commande :
mkdir ~/fprint_build && cd ~/fprint_build tar xvf ~/libfprint-*.tar.bz2 tar xvf ~/pam_fprint-*.tar.bz2 tar xvf ~/fprint_demo-*.tar.bz2
Installer les dépendances requises
Pour pouvoir compiler fprint, il vous faut installer les paquets suivants : build-essential libusb-dev libssl-dev libglib2.0-dev libmagick9-dev libpam-dev
Compilation
libfprint
Ouvrez un terminal et rendez-vous dans le dossier créé lors de la décompression de libfprint. Si vous avez suivi mes instruction, le dossier devrait être ~/fprint_build/libfprint-* :
cd ~/fprint_build/libfprint-*/
puis lancez la configuration :
./configure --prefix=/usr
si aucune erreur n'apparaît, lancez la compilation :
make
puis l'installation :
sudo make install
pam_fprint
Répétez l'opération avec pam_fprint :
cd ~/fprint_build/pam_fprint-*/ ./configure --prefix=/usr && make && sudo make install
fprint_demo
Si vous désirez pouvoir faire le test de fonctionnement avec l'utilitaire fprint_demo, installez le paquet libgtk2.0-dev puis lancez la compilation :
cd ~/fprint_build/fprint_demo-*/ ./configure && make && sudo make install
Test de fonctionnement
Une fois les outils installés, vérifions si le lecteur d'empreintes fonctionne comme il doit.
Lancez fprint_demo
et essayez de scanner vos empreintes. Si ça fonctionne, vous pourrez l'utiliser pour l'authentification, sinon, posez une question sur le forum
Configuration
Si la phase de test s'est bien passée (vous avez vu vos doigts, chouette !), passons à l'utilisation pratique du lecteur.
Pour pouvoir utiliser le lecteur dans GDM ou pour sudo, nous allons utiliser PAM. Commencez donc par installer le paquet libpam s'il ne l'est déjà.
Nous allons maintenant enregistrer une (ou plusieurs) empreinte(s). Lancez la commande suivante pour enregistrer votre 7ème doigt, c'est-à-dire l'index droit :
sudo pam_fprint_enroll --enroll-finger 7
Si vous préférez un autre doigt, changez 7 par un autre chiffre, les doigts étant numérotés de l'auriculaire gauche à l'auriculaire droit.
Si vous désirez enregistrer plusieurs doigts, il vous suffit de répéter l'opération en changeant le numéro.
Pour toute authentification
Éditez le fichier de configuration /etc/pam.d/common-auth et cherchez la ligne
auth requisite pam_unix.so nullok_secure
et ajoutez la ligne ci-dessous juste avant :
auth sufficient pam_fprint.so
Pour l'identification dans GDM uniquement
Éditez le fichier de configuration /etc/pam.d/gdm et cherchez la ligne suivante :
@include common-auth
Et ajoutez la ligne ci-dessous juste avant :
auth sufficient pam_fprint.so
Pour SUDO uniquement
Éditez le fichier de configuration /etc/pam.d/sudo et cherchez la ligne suivante :
#%PAM-1.0
Et ajoutez la ligne ci-dessous juste après :
auth sufficient pam_fprint.so
Problèmes connus
Aucun prompt n'apparaît
Lors de l'utilisation de lecteurs d'empreintes via PAM avec gksudo, aucune boîte de dialogue n'apparaît pour vous demander de scanner votre doigt. Vous devrez donc simplement passer votre doigt sur le lecteur après avoir lancé une application faisant appel à gksudo ; comme par exemple la majorité des entrés de menu dans Système ⇒ Administration.