Lecteur d’empreintes digitales sous mandriva Linux 2010

Dans cet article, on met en place l’utilisation du lecteur d’empreintes digitales sous une mandriva 2010

Pré-requis

Matériel : Ordinateur portable HP 6715B
Il dispose d’un module de lecture d’empreinte digitale reconnu comme « AuthenTec, Inc. AES2501 Fingerprint Sensor »

Système : Mandriva 2010 x86_64

Installation logicielle

Nous devons installer fprint_demo, pam_fprint et leurs dépendances (lib64fprint0, lib64fprint-devel...).

Ouvrez une console en administrateur et utilisez urpmi. Sous Kde, cela se fait ainsi :
Menu ETOILE —> Outils —> Konsole

Dans la console, tapez :

su
(mot de passe de root)
urpmi fprint_demo pam_fprint

ATTENTION : Si vous préférez utiliser le gestionnaire de logiciels Mandriva, n’oubliez pas de remplacer "applications graphiques" par "tous" pour le filtrage lors de votre recherche car pam_fprint n’est pas une application graphique.

correctif d’accès

A cet instant, l’administrateur "root" peut utiliser le lecteur d’empreintes digitales mais pas un utilisateur normal. En effet, s’agissant d’un périphérique inconnu comme nous l’annonce le centre de configuration mandriva, il bénéficie de droits d’accès prudents. Nous allons donc rajouter une règle dans /etc/udev/rules.d pour permettre à tous les utilisateurs de mettre leurs doigts graisseux sur notre joli lecteur d’empreintes.

Vous êtes toujours dans votre console d’administration ? Alors, allons-y :

cd /etc/udev/rules.d/
mcedit 50-udev-fprint.rules 

A la place de mcedit, vous pouvez utiliser kwrite, vi ou nano selon vos préférences d’éditeur de texte.

Dans ce nouveau fichier, une seule ligne à taper :

SUBSYSTEM=="usb", ATTR{product}=="Fingerprint Sensor", MODE="0777"

Et on enregistre. (Je n’ai pas inventé cette ligne, c’est un mélange d’un tutoriel Fedora et d’un tutoriel d’imprimante !

Explication :

Dans le nom du fichier,la valeur 50 indique la priorité de cette règle par rapport à la règle par défaut (qui est à 40, je crois).

SUBSYSTEM=="usb" est assez explicite : notre lecteur de doigts dépend d’une interface usb.

ATTRproduct=="Fingerprint Sensor" : permet de reconnaître notre périphérique usb parmi tous les autres. On aurait probablement pu le reconnaître au travers de son

VENDORid et PRODUCTid mais dans mes essais, ça n’a pas bien marché.

MODE="0777" : tout le monde a le droit de tout sur ce périphérique. Quand j’ai essayé de faire plus restrictif (660), ça n’a pas marché.

Si vous avez un lecteur externe, vous pouvez le débrancher et rebrancher pour lui affubler les nouveaux droits ou bien décharger et recharger les pilotes qui vont bien. Moi, je suis fainéant : je redémarre mon ordinateur.

enregistrement de vos doigts

Lancez fprint_demo sous votre compte d’utilisateur normal et enregistrez vos doigts

En bas, on lit que le lecteur d’empreintes digitales est prêt à être utilisé (flèche rouge). Avant ma règle « 50-udev-fprint.rules », la réponse était qu’il n’y avait aucun périphérique prêt à enregistrer mes empreintes.

Enregistrez vos doigts (un ou plusieurs) et vérifiez avec le second onglet que cela fonctionne bien. Après 3 ou 4 vérifications infructueuses, n’hésitez pas à recommencer l’enregistrement initial. Il faut poser le doigt bien à plat et descendre à peu près de la même façon et de la même vitesse à chaque fois.

Astuce : ma main droite est enregistrée pour l’utilisateur normal tandis que la gauche contient les empreintes de l’administrateur (root). Il est possible que le même doigt authentifie deux utilisateurs différents, de la même façon que deux utilisateurs peuvent avoir le même mot de passe mais c’est source d’erreur.

Danger : il vaut mieux laisser la possibilité de s’authentifier par mot de passe "en secours". Un ami m’a fait la remarque qu’après 2 heures dans l’eau de vaisselle, le doigt est frippé et ça marche moins bien... (D’un autre côté, ça donne une excuse pour ne pas faire la vaisselle...)

authentification par l’empreinte

Pour authentifier par l’empreinte, il faut ensuite ajouter une ligne dans le fichier /etc/pam.d/system.auth donc ouvrez ce fichier en tant qu’administrateur root avec l’éditeur de votre choix puis ajoutez la ligne suivante au début du fichier juste après la ligne « auth required pam_env.so » :

auth        sufficient    pam_fprint.so

Précision : En console ou interface texte, vous êtes invité à mettre votre doigt sur le lecteur juste après le choix du nom d’utilisateur. En interface graphique, le gestionnaire KDM demande à taper "nom d’utilisateur" et "mot de passe" dans la même fenêtre. Il vous faut donc laisser "à blanc" le mot de passe pour que l’empreinte digitale devienne nécessaire. Une petite fenêtre vous invite à mettre votre empreinte : cliquez sur OK (IL NE SE PASSE RIEN) puis mettez votre empreinte.

Conclusion

Vous avez installé votre lecteur d’empreinte digitale pour vous authentifier. Votre main droite est normale tandis que votre main gauche est administratrice. Vous ne pouvez plus faire la grosse vaisselle du week-end et vos traces de doigts servent à autre chose que salir l’écran.

Voir également le wiki mandriva sur le sujet dont certains aspects sont trop anciens.