{{tag>Hardy Intrepid Jaunty authentification sécurité BROUILLON}}
----
====== Lecteur d’empreintes digitales FPrint ======
{{ fprint_logo.png }}
**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.
{{fprint_demo_v0.1.gif?350}} {{fprint_demo_v0.3.png?350}}
===== Mon lecteur biométrique est-il pris en charge 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 [[http://www.freedesktop.org/wiki/Software/fprint/libfprint/Supported%20devices|site du projet]]. S'il y a une correspondance, cela devrait fonctionner.
Il existe aussi une [[http://www.freedesktop.org/wiki/Software/fprint/libfprint/Unsupported%20devices|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.
===== Installation =====
==== Pour Jaunty ====
Non testé, cela semble fonctionner (fprint a pu être lancé mais mon matériel n'est pas détecté) !
[[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://libpam-fprint|libpam-fprint]] [[apt://fprint-demo|fprint-demo]]**.
Installez les paquets [[apt://libmagickwand-dev|libmagickwand-dev]] ,[[apt://libpam0g-dev|libpam0g-dev]]
Téléchargez ensuite les sources de lib_fprint sur [[http://www.reactivated.net/fprint/wiki/Download|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.
[[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://libpam-fprint|libpam-fprint]] [[apt://libfprint0|libfprint0]] [[apt://fprint-demo|fprint-demo]]**.
==== Pour Hardy ====
Si vous utilisez Ubuntu [[:Hardy]], [[:tutoriel:comment_modifier_sources_maj|ajoutez le dépôt]] suivant :
deb http://ppa.launchpad.net/madman2k/ubuntu hardy main restricted universe multiverse
puis [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://libpam-fprint|libpam-fprint]] [[apt://libfprint|libfprint]] [[apt://fprint-demo|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 [[http://www.reactivated.net/fprint/wiki/Download|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 [[:tutoriel:compilation|compiler]] fprint, il vous faut [[:tutoriel:comment_installer_un_paquet|installer les paquets]] suivants :
**[[apt://build-essential|build-essential]] [[apt://libusb-dev|libusb-dev]] [[apt://libssl-dev|libssl-dev]] [[apt://libglib2.0-dev|libglib2.0-dev]] [[apt://libmagick9-dev|libmagick9-dev]] [[apt://libpam-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 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, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://libgtk2.0-dev|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 [[http://forum.ubuntu-fr.org/|forum]] ;-)
Si problème (could not open device), faire
sudo fprint_demo
===== 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 [[wpfr>Pluggable_authentication_module|PAM]]. Commencez donc par [[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://libpam|libpam]]** et **[[apt://libpam-fprint|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 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 ====
[[:tutoriel:comment_editer_un_fichier|É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 ====
[[:tutoriel:comment_modifier_un_fichier|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
==== Pour SUDO uniquement ====
[[:tutoriel:comment_modifier_un_fichier|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
===== Problèmes connus =====
==== Aucun prompt n'apparaît ===
Lors de l'utilisation de lecteurs d'empreintes //via// PAM avec [[:sudo#gksudo|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é [[http://ubuntuforums.org/showthread.php?t=622843|ici]]).\\
Pour cela, télécharger le script suivant : [[http://ubuntuforums.org/attachment.php?attachmentid=68030&d=1209511245|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
===== Liens =====
* [[http://www.reactivated.net/fprint/wiki/Main_Page|Site officiel (en)]]
----
//Contributeur principal : [[:utilisateurs:Ban]] (Créée à partir de http://www.geekplanet.fr/content/view/25/33/)//