Le site de Beuz
Slogan du site

Le site de Beuz contient une rubrique pour chacun de mes centres d’intérêts : mandriva linux, tarot, full metal planete, mes logiciels, etc...

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

Article mis en ligne le 23 mai 2010
dernière modification le 1er juin 2010

par beuz
logo imprimer
Enregistrer au format PDF

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.


Forum
Répondre à cet article
Lecteur d’empreintes digitales sous mandriva Linux 2010
- le 7 février 2012

A noter que sur 2010.2, j’ai eu un souci lié au fait que pam cherche un fichier /lib/security/pam_fprint.so alors que le vrai fichier s’appelle pam_fprintd.so ce que j’ai résolu par la création d’un lien symbolique ln -s /lib/security/pam_fprintd.so /lib/security/pam_fprint.so

Lecteur d’empreintes digitales sous mandriva Linux 2010
alfazaz - le 14 août 2010

La procédure est intéressante mais ne marche pas complètement sur mandriva 2010.1 avec un HP nw8440 (AuthenTec, Inc. AES2501 Fingerprint Sensor). Il y a un gag avec udev (?) au démarrage avec la règle (udevd-work, error opening ATTR etc...).

Bilan : j’arrive à enregistrer les empreintes, les tester mais pas d’authentification en console ou en mode graphique. Dommage.

Lecteur d’empreintes digitales sous mandriva Linux 2010
beuz - le 14 août 2010

Ha ? Théoriquement, cette authentification se fait via le fichier /etc/pam.d/system.auth et n’a donc qu’un très lointain rapport avec udev...

Je vais essayer d’upgrader mon HP en 2010.1 pour voir si je suis confronté au même souci.

Lecteur d’empreintes digitales sous mandriva Linux 2010
alfazaz - le 14 août 2010

Ca serait cool. Merci de me tenir au courant du succès, ou non, de la chose ;-).

Lecteur d’empreintes digitales sous mandriva Linux 2010
beuz - le 14 août 2010

Alors j’y suis arrivé également sous mandriva 2010.1 en tatônnant un peu.

Tout d’abord il faut savoir qu’il existe un fichier « system-auth-fprintd » dans le même dossier « /etc/pam.d/ ». Du coup, au lieu de mettre en deuxième ligne

auth sufficient pam_fprint.so

j’ai mis en première ligne

auth include system-auth-fprintd

qui fait appel au fichier cité.

Par ailleurs, il existe en plus de fprint_demo, 4 applications console :

fprintd-enroll fprintd-delete fprintd-list fprintd-verify

qui enregistrent, effacent, énumèrent et vérifient l’empreinte. Il semble que ces dernières n’utilisent pas le même dossier de stockage des empreintes. J’ai donc enregistré mes empreintes sur les 2 systèmes (attention, il ne faut pas hésiter à réenregistrer 3, 4, 10 fois jusqu’à ce que le "verify" soit fiable).

Dernier point :en cas d’erreur avec la ligne « include » de « system-aut »h, il n’est plus possible de se logguer ! Il faut redémarrer la machine puis dans le menu de choix du système à lancer, sélectionner "F3- options" puis "defaut" et ensuite ajouter le chiffre 1 à la fin de la ligne des options (mode autologin, single user root) pour accéder à notre console et rétablir le fichier system-auth...

Lecteur d’empreintes digitales sous mandriva Linux 2010
alfazaz - le 15 août 2010

Parfait ! Maintenant, ça marche (sans règle udev). J’ai ajouté dans system-auth-fprintd une ligne (peut-être simplifiable mais fonctionnelle)

auth sufficient pam_unix.so try_first_pass likeauth nullok

après la ligne

auth sufficient pam_fprintd.so

pour avoir l’authentification par mot de passe si celle par empreinte échoue.

Merci pour l’aide !!

Lecteur d’empreintes digitales sous mandriva 2010
auteur - le 28 mai 2010

Le correctif ci-dessus n’a pas été utile pour un Thinkpad Xseries dont le lecteur est reconnu comme STMicroElectronic Biometric coprocessor




pucePlan du site puceContact puceMentions légales puce

RSS

2001-2018 © Le site de Beuz - Tous droits réservés
Site réalisé sous SPIP
avec le squelette ESCAL-V3
Version : 3.87.62
Hébergeur : Beuselinck