Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
Cette page est considée comme vétuste et ne contient plus d'informations utiles.
Apportez votre aide…

Thinkfinger

Le pilote proposé ici n'a pas eu de mise jour récente, il ne prend donc pas en charge le matériel récent. Par contre il doit très certainement encore fonctionner sur des versions récentes d'Ubuntu pour du matériel plus ancien.

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

Importer la clé comme suit :

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com E27BD6CB0674FDA90C468C824EF7A1A812F5B0F9

Installez les paquets thinkfinger-tools, libpam-thinkfinger.

Le paquet libpam-thinkfinger (optionnel) vous permettra d'utiliser le lecteur d'empreinte au quotidien (par l'intermédiaire de PAM) tandis que le premier apporte les outils pour utiliser le lecteur.

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

sous hardy et ultérieurs, la configuration se résume à lancer

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

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

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 dernier 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

Jaunty Jackalope

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 !

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

Cette manipulation n'est pas "propre" mais est le seul moyen de déverouiller l'écran en passant son doigt sur le lecteur. Elle devra sans doute être répétée après chaque mise à jour de udev.

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



Le contenu de ce wiki est sous licence : CC BY-SA v3.0