Ceci est une ancienne révision du document !



Lecteur d’empreintes digitales 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.

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. S'il y a une correspondance, cela devrait fonctionner. Il existe aussi une page répertoriant les matériels connus pour ne pas fonctionner. 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.

Pour "The Precise Pangolin"

Testé sur la version 12.04 LTS Commandes

$ sudo add-apt-repository ppa:fingerprint/fprint
$ sudo apt-get update
$ sudo apt-get install libpam-fprint libfprint0 fprint-demo gksu-polkit fprintd

Pour Natty (et Oneiric ?)

Non testé sur la version 11.10 Oneiric


Ajouter le dépôt FPrint , via la console :

sudo add-apt-repository ppa:fingerprint/fprint


Pour Jaunty

Non testé, cela semble fonctionner (fprint a pu être lancé mais mon matériel n'est pas détecté) !

installez les paquets libpam-fprint fprint-demo. Installez les paquets libmagickwand-dev ,libpam0g-dev Téléchargez ensuite les sources de lib_fprint sur le site officel.

Enfin, compilez :

tar xvf ~/libfprint-*.tar.bz2
./configure --prefix=/usr
make 
sudo make install

Pour Intrepid et Jaunty

Installez simplement les packages, ils sont déjà présents dans les dépots officiel d'intrepid.

installez les paquets libpam-fprint libfprint0 fprint-demo.

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.

Attention : ce dépôt contient des mises à jour non recommandées ; il vous est conseillé d'installer les trois paquets dont nous avons besoin puis de le désactiver.

Via les sources

S'il n'existe pas de paquet pour votre version ou votre architecture, il vous faudra 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

Compilation

libfprint

Ouvrez un terminal et rendez-vous dans le dossier créé lors de la décompression de libfprint. Si vous avez suivi les instructions, 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

Natty 11.04 et Oneiric 11.10

Lors de "mon" installation sur Kubuntu "Natty", le raccourci de fprint_demo se situait dans Applications > Utilitaires du menu K.
Cependant, l'interface graphique restait grisée. Il semble impossible de l'utiliser autre qu'en root (à vérifier).
Pour le lancer nous allons donc utiliser la console.
  1. Lancer fprint_demo (mode administrateur):
    sudo fprint_demo


  2. Au lancement de l'application (graphique), nous devons être dans l'onglet "Enroll". Il suffit ensuite de cliquer sur l'un des boutons "Enroll" (à droite) et de passer le doigt approprié pour enregistrer vos empreintes.
    Lorsque votre empreinte sera "capturée", visualisez bien l'image. Votre empreinte doit être bien visible et nette, sans zone exagérément "noire", ou floue (qui aurait tendance à montrer que vous êtes allé trop vite ou trop lentement).
    Au moment où je rédige ce tuto, fprint_demo est en anglais. Il y a donc 10 lignes à renseigner correspondantes à nos 10 doigts (du pouce à l'auriculaire (petit doigt) de la main gauche, puis de la même manière pour la main droite).
  3. Une fois tous vos doigts enregistrés (enrollés), il sera désormais écrit "enrolled" pour chaque empreintes enregistrées.
    Il est alors conseillé de vérifier vos empreintes en cliquant sur l'onglet "verifiy" en sélectionnant d'abord (à droite dans liste déroulante) le doigt que vous souhaitez vérifier.
  4. Ensuite vous pouvez "jouer" un peu avec, afin de vérifier de nouveau que vos doigts sont reconnus, dans l'onglet "identify" : Cochez toutes les cases à droite (si vous avez enregistrés les empreintes correspondantes), puis cliquez sur le bouton (en bas à droite) : Identify.
    Passez alors n'importe quel doigt sur votre lecteur d'empreintes.
    Si fprint réussi la correspondance, il sera alors écrit le message :
    Matched nom_du_doigt(en anglais)


    S'il est écrit :

    Could not identify finger.

    retentez l'expérience 2 ou 3 fois.
    S'il n'arrive toujours pas à trouver la correspondance, vous devrez alors recommencer l'enregistrement de cette empreinte (étape 2 de cette liste).

  5. Ensuite, lancez dans la console la commande :
    sudo pam-auth-update


    Un écran (fond bleu) dans la console devrait s'afficher, vous demandant d'activer les profils PAM.
    Sélectionnez (avec les flèches du clavier "haut" ou "bas") "Fingerprint authentification by pam-fprint", s'il n'y a pas d'astérisque devant, alors appuyez simplement sur la touche <espace> pour l'activer.
    Ensuite sur "Ok" (en utilisant la touche <Tab> (Tabulation)).
    Cela va créer une nouvelle ligne de paramétrage dans le fichier common-auth (voir N°7 de cette liste).

  6. Ensuite, lancez dans la console la commande (pas certain que cette phase soit indispensable) :
    fprintd-enroll


    Il vous sera demandé de passer votre index. Ce processus permet d'enregistrer votre empreinte (index droit).

  7. Vous pouvez également vérifier que l'authentification est bien gérée désormais par PAM (Module d'authentification), en éditant le fichier remplacez "kate" par "gedit" pour les utilisateurs Ubuntu/Gnome/Unity):
     sudo kate /etc/pam.d/common-auth

    Vérifier que la ligne suivante soit bien inscrite dans le fichier common-auth, sinon ajoutez la manuellement sous la ligne "here are the per-package modules (the "Primary" block)" :

    auth	[success=2 default=ignore]	pam_fprint.so
  8. Si vous avez réussi toutes ses étapes, alors vos empreintes sont enregistrées et FPrint est prêt à fonctionner (nul besoin de suivre le reste du tutoriel).



Antérieur à Natty

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 ;-)

Si problème (could not open device), faire

  sudo fprint_demo

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 les paquets libpam et libpam-fprint 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 du pouce à l'auriculaire gauche (doigts 1 à 5) puis du pouce à l'auriculaire droit (doigts 6 à 10).

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    required        pam_unix.so nullok_secure

et ajoutez la ligne ci-dessous juste avant :

auth    sufficient    pam_fprint.so

Si vous voulez avoir plusieurs tentatives, vous pouvez entrer cette ligne plusieurs fois. Si vous mettez cette ligne 3 fois vous aurez alors 3 essais avant de devoir rentrer votre mot de passe.

Pour l'identification dans GDM uniquement

Ouvriez 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
Attention : pour Ubuntu 12.04 le fichier est /etc/pam.d/lightdm

Pour SUDO uniquement

Ouvrez 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

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.

Il est possible de simuler une boite de dialogue grâce à un petit script Python (trouvé ici).
Pour cela, télécharger le script suivant : gksu.py.
Enfin, quelques lignes à taper dans le terminal :
sudo mv ./gksu.py /usr/local/bin/gksu
sudo chmod 755 /usr/local/bin/gksu
sudo apt-get install python-gnome2-extras python-pexpect

Contributeur principal : Ban (Créée à partir de http://www.geekplanet.fr/content/view/25/33/)
Contributeur : Thalyn pour les parties 2 & 3 (Natty et Oneiric) de ce tutoriel

  • fprint.1382176627.txt.gz
  • Dernière modification: Le 19/10/2013, 11:57
  • par 82.242.174.185