Ceci est une ancienne révision du document !
Thinkfinger
Pour faire fonctionner le lecteur d'empreintes digitales, on utilise le logiciel thinkfinger. Il a été originellement conçu pour les portables IBM Thinkpad, mais il fonctionne bien sûr avec les autres marques.
D'autre projet visant à améliorer le support des lecteurs biométriques existe sous Linux comme FPrint.
Avant de vous lancer dans l'installation du pilote, veuillez lire le dernier paragraphe (Problèmes connus) de cette page afin d'être certain que vous désirez utiliser le lecteur. En effet, il y a certaines choses qui ne fonctionnent pas et qui pourraient dérouter un débutant.
Il est nécessaire de remarquer, toutefois, qu'il est tout à fait possible de configurer le lecteur d'empreintes digitales pour un utilisateur et de laisser les autres utilisateurs de l'ordinateur taper leur mot de passe comme précédemment (attention, on parle d'utilisateurs au sens Unix du terme, si deux personnes utilisent la même session, on parle d'un seul utilisateur!).
Installation
Ajoutez le dépôt :
deb http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse deb-src http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse
Installez le paquet thinkfinger-tools libpam-thinkfinger apt://thinkfinger-tools apt://libpam-thinkfinger.
Essais
Vous pouvez utiliser les 2 commandes suivantes pour vérifier le fonctionnement du lecteur :
sudo tf-tool --acquire sudo tf-tool --verify
Voici un exemple d'utilisation :
ploum@spoutnik:~$ sudo tf-tool --acquire ThinkFinger 0.2.2 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 3/3, failed swipes: 0)... done. Storing data (/tmp/test.bir)... done. ploum@spoutnik:~$ sudo tf-tool --verify ThinkFinger 0.2.2 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 1/1, failed swipes: 0)... done. Result: Fingerprint does match.
Configuration
sudo /usr/lib/pam-thinkfinger/pam-thinkfinger-enable
qui fera les actions nécessaires
PAM
Il faut maintenant configurer PAM. Pour cela, il faut modifier le fichier /etc/pam.d/common-auth:
sudo gedit /etc/pam.d/common-auth
Ajoutez y la ligne suivante avant la ligne contenant pam_unix.so :
auth sufficient pam_thinkfinger.so
Rajouter try_first_pass à la ligne contenant pam_unix.so :
auth required pam_unix.so try_first_pass nullok_secure
Bug d'installation
Un petit bug : Il faut faire un lien symbolique :
sudo ln -s /etc/pam_thinkfinger/ /usr/local/etc/pam_thinkfinger
Module uinput
Il faut veiller à ce que le module uinput soit chargé dans le noyau. Pour ce faire, il faut le rajouter dans le fichier /etc/modules
- Ouvrez /etc/modules. Rajoutez uinput à la fin. Sauvegardez et quittez.
Pour la session en cours, il est toujours possible de charger le module a la main avec :
sudo modprobe uinput
Ajouter des empreintes
Sous Ubuntu Hardy 8.04
Le fichier .thinkfinger.bir
généré par la commande suivante servira à vous authentifier lorsque vous passez votre doigt sur le lecteur :
$ sudo tf-tool --acquire
Sous Ubuntu Gusty 7.10 et antérieur
Maintenant on peut enregistrer les empreintes, en utilisant tf-tool. Par chaque utilisateur, lancez la commande :
sudo tf-tool --add-user nom_de_l_utilisateur
Il vous sera demandé de passer 3 fois de suite le doigt dans le lecteur (pas trop vite sinon ça ne marche pas).
Voici un exemple d'utilisation :
$ sudo tf-tool --add-user fabien ThinkFinger 0.3 (http://thinkfinger.sourceforge.net/) Copyright (C) 2006, 2007 Timo Hoenig <thoenig@suse.de> Initializing... done. Please swipe your finger (successful swipes 3/3, failed swipes: 11)... done. Storing data (/etc/pam_thinkfinger/fabien.bir)... done. Setting ACL on aquired file: /etc/pam_thinkfinger/fabien.bir. Unable to set ACL of aquired file: /etc/pam_thinkfinger/fabien.bir: Operation not supported
Utilisation
Pour tester, lancez une application avec sudo, qui vous dira «password or swipe finger». Passez votre doigt dans le lecteur au lieu de taper le mot de passe.
Vous pourrez de même passer votre doigt lorsque le gestionnaire de session (gdm) vous demandera votre mot de passe. Remarque : ce denier n'affiche pas « mot de passe ou lecteur d'empreinte » ou quelque chose comme ça.
Le lecteur d'empreinte pourra être utilisé par toutes les applications utilisant PAM.
Problèmes connus
Intrepid Ibex
Sur mon IBM T43p, j'ai eu la mauvaise surprise de découvrir que mon lecteur digital ne fonctionnait plus. En fait, il fallait faire "enter" après avoir passer son empreinte sur le lecteur ! Heureusement pour nous Jon Oberheide a proposé un patch. Vous pouvez ajouter son dépôt launchpad
# Patch pour thinkfinger reader deb http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main deb-src http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
Puis mettre à jour et tout rentre dans l'ordre.
sudo apt-get update && sudo apt-get dist-upgrade
GKSudo
Dans les dernières mises à jour, la fenêtre de GKSudo (le dialogue sur fond noir demandant le mot de passe pour lancer, par exemple, Synaptic) apparait bien mais le texte ne demande que le mot de passe. Ne faites pas confiance à cette erreur qui est volontairement créée pour éviter un bug précédent et passez votre doigt sur le lecteur, ça fonctionnera parfaitement.
Sortie de l'écran de veille
Tout d'abord créez le fichier /etc/udev/rules.d/60-thinkfinger.rules (avec les droits de superutilisateur) et copiez-y ceci :
# # udev rules file for the thinkfinger fingerprint scanner gives access to the fingerprint reader to those in the "fingerprint" group # # Taken from: # http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger # which was taken and modified from: # http://article.gmane.org/gmane.linux.drivers.thinkfinger/329 SYSFS{idVendor}=="0483", SYSFS{idProduct}=="2016", SYMLINK+="input/thinkfinger-%k", MODE="0660", GROUP="fingerprint" KERNEL=="uinput", MODE="0660", GROUP="fingerprint"
Ensuite nous allons créer le groupe des utilisateurs pouvant utiliser le lecteur d'empreinte digitale, y ajouter l'utilisteur toto (adaptez selon votre cas) et finalement donner le droit à l'utilisateur de lire le fichier décrivant son empreinte digitale (seul root peut le faire en principe).
sudo groupadd fingerprint sudo gpasswd -a toto fingerprint sudo chown toto:root /home/toto/.thinkfinger.bir sudo chmod 400 /home/toto/.thinkfinger.bir
Plusieurs personnes sur la même session
Si chaque personne utilise une session différente, pas de problème. Par contre, si deux personnes utilisent la même, une seule des deux pourra enregistrer son empreinte digitale.
Autre
Voir sur la page anglophone.
KDE
Ne fonctionne pas avec KDE en version 0.3 Debian : même sous konsole après reboot (étrange car ok avant reboot). Avant reboot, de toute façon, seule la konsole supporte l'authentification par empreinte, aucun effet lors d'une demande de mot de passe graphique.
Selon le thread ci-dessous, cela vient de kdm qui n'est pas 100% fidèle à la spec de pam. Si vous voulez malgré tout l'utiliser c'est possible. http://bbs.archlinux.org/viewtopic.php?pid=232607 Toutefois la solution propriétaire (pilote UPEK + framework bioapi) fonctionne mieux avec KDE.
Liens
- fPrint, un autre projet de lecture biométrique.
La page a probablement besoin d'être réorganisée: hardy (installation simple, pas de dépots, etc…) VS others (ajout de dépots, modif de fichiers, etc…)