Empreintes digitales
September 23rd, 2008
J’ai en ma possession un Lenovo avec un joli lecteur d’empreintes digitales qui ne me sert à rien, et que jusque là j’avais eu une flemme monstre de configurer. Mais là il se trouve que j’ai quelques minutes à attendre, alors pourquoi pas s’y mettre (malgré la tonne trucs que je dois faire).
Donc manifestement c’est un peu le bazar ces histoires d’empreintes digitales, mais le logiciel qui semble émerger comme “standard” est fprint (ceci dit la dernière release date de fin 2007, et c’est pas mieux chez la concurence… décidément tout le monde s’en fout des empreintes digitales). Petite note : je fais la manip sous Ubunt Hardy Heron, mais ça doit pas être mortellement différent sous une autre distro.
Donc ben commençons. Visiblement madman2k avait fait des paquets, mais il a l’air de les avoir virés de son dépôt, donc on va faire à partir du code source.
Il y a 3 éléments à télécharger sur sourceforge : fprint_demo qui est un GUI qui montre ce que fprint peut faire, libfprint qui est le cœur du logiciel, et enfin pam_fprint qui sert à faire sauter le PC si l’authentification échoue ajouter la gestion de fprint dans PAM. Pour ma part j’ai tout téléchargé et décompressé dans /usr/src.
Une fois que c’est fait, il faut installer les dépendances de compilation, ce qui revient sous ubuntu à faire
aptitude install build-essential libusb-dev libssl-dev libglib2.0-dev libmagick9-dev libpam-dev libgtk2.0-dev
La compilation est tout ce qu’il y a de plus classique. On va commencer par libfprint :
cd /usr/src/libfprint-0.0.6 ./configure --prefix=/usr make -j3 sudo make install
(note : le -j3 du make n’est pas du tout nécessaire, c’est juste pour dire d’utiliser 3 threads; d’après la doc de gentoo le mieux est d’utiliser [nombre de cœurs] + 1 threads, et vu que j’ai un dual core, ben ça fait 3 threads)
Allez maintenant on fait le module PAM (oui c’est pareil que l’autre)
cd /usr/src/pam_fprint-0.2 ./configure --prefix=/usr make -j3 sudo make install
Et on fini avec l’outil de demo
cd /usr/src/fprint_demo-0.4 ./configure --prefix=/usr make -j3 sudo make install
Vous pouvez maintenant tester fprint_demo pour voir si ça marche bien. Bon chez moi ça a scanné mon doigt une fois et puis après ça s’est figé même après l’avoir relancé plusieurs fois et avoir supprimé le dossier de préférences….
On passe donc maintenant à la configuration de PAM, qui en fait est ce qui compte vraiment dans ce tuto.
Il faut donc aller modifier l’horriblement mal documenté PAM, et son fichier /etc/pam.d/common-auth
Donc théoriquement vous avez une ligne qui ressemble à
auth required pam_unix.so nullok_secure
Avant, ajoutez y la ligne
auth sufficient pam_fprint.so
Le nombre de fois que cette ligne apparaît correspond au nombre d’essais que vous avez (ça me semble foireux ça… si quelqu’un a une idée mieux je suis prenneur). Dans /etc/pam.d il y a plusieurs fichiers de configuration, genre “gdm” ou “sudo”, dans lesquels vous pouvez ajouter cette ligne pour ajouter l’authentification par emprunte digitale à ce service uniquement.
Il ne vous reste maintenant plus qu’à « enrôler » vos doigts, c’est à dire à taper la commande pam_fprint_enroll. Voici l’aide
Usage: pam_fprint_enroll options
-h --help Display this usage information.
-f --enroll-finger index Enroll finger with index.
Valid indexes are:
1 - Left Thumb
2 - Left Index Finger
3 - Left Middle Finger
4 - Left Ring Finger
5 - Left Little Finger
6 - Right Thumb
7 - Right Index Finger
8 - Right Middle Finger
9 - Right Ring Finger
10 - Right Little Finger
Et voici un exemple d’usage (pour enregister l’index droit) :
pam_fprint_enroll --enroll-finger 7
Et voilà normalement là PAM vous demande de scanner votre doigt (sauf pour gksudo visiblement) quand il faut vous identifier. Le seul truc c’est que pour l’instant il a jamais voulu reconnaitre mon doigt… Ça viendra peut être un jour ?
Edit : c’est venu \o/ En fait il faut bien poser son doigt à plat sur le lecteur, sinon ça marche pas…
Entry Filed under: Linux

Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Subscribe to the comments via RSS Feed