PAM Face Authentification est un logiciel libre (sous licence GNU GPL 3) de reconnaissance faciale utilisant la librairie OpenCV. Il permet d'ouvrir sa session et de remplacer son mot de passe root par une identification faciale ce qui permet la plupart du temps de gagner du temps. Ce logiciel est similaire à KeyLemon qui est uniquement disponible sous Windows. PAM Face Authentification est disponible pour les environnements Gnome et KDE, comme je n'utilise pas KDE, je ne traiterais pas cette partie. Néanmoins, vous pouvez regarder le lien source en bas de la page pour avoir les informations adéquates.
PAM Face Authentification n'est pas présent dans les dépôts, nous allons le compiler.
Pour compiler PAM Face Authentification :
#On se place dans le dossier décompressé cd pam-face* #On crée un dossier build et on va dedans mkdir build && cd build #Et on installe cmake -D CMAKE_INSTALL_PREFIX=/usr .. make sudo make install
Normalement, maintenant le programme est installé.
Pour que le logiciel reconnaisse votre visage, il faut le lui montrer .
Nous allons donc le paramétrer.
Le logiciel se trouve dans: Application → Autre → Qt Face Trainer.
Vous pouvez aussi le lancer avec la commande:
qt-facetrainer
Au lancement du logiciel, un texte nous donne des conseils pour que les photos témoins soient prises correctement. Il faut:
L'écran suivant nous montre l'interface pour prendre la fameuse photo.
L'espace de droite est le répertoire des photos témoins. L'espace de gauche est l'espace d'“analyse”. Quand le logiciel aura bien cadré votre tête (comme sur la photo ci-dessus), appuyez sur le bouton Capture. La capture se fait alors, essayez de ne pas bouger avant la fin de celle-ci car en réalité, elle prend 13 photos et si vous bougez trop, la capture met longtemps à se faire car elle doit ré-analyser votre visage.
En appuyant sur le bouton Advanced Settings, on peut régler quelques paramètres en plus et tester la reconnaissance faciale.
Vous pouvez ainsi régler la tolérance ce qui améliore la reconnaissance de votre visage mais aussi la marge d'erreur. Vous pouvez sauvegarder le réglage avec Save et tester la reconnaissance du visage avec Test Recognition, la réponse s'affichant en bas : Yes ou No.
actuellement c'est lightdm qui gère la connexion à la session. Il faut maintenant faire en sorte que le logiciel se lance et vous identifie pour vous ouvrir la session. Pour cela, il va falloir éditer le fichier gdm.
sudo gedit /etc/pam.d/gdm
Et après la première ligne, ajoutez si vous voulez que la video de détection s'affiche lors de l'identification:
auth sufficient pam_face_authentication.so enableX
ou pour qu'elle ne s'affiche pas:
auth sufficient pam_face_authentication.so
Enregistrez ensuite le fichier et le tour est joué, vous pouvez vous identifier avec votre webcam.
On peut aussi utiliser sudo avec son visage plutôt qu'avec un mot de passe. La méthode est la même que pour le GDM. Éditez le fichier sudo.
sudo gedit /etc/pam.d/sudo
Et rajoutez pour avoir la fenêtre vidéo:
auth sufficient pam_face_authentication.so enableX
et pour ne pas l'avoir:
auth sufficient pam_face_authentication.so
Enregistrez le fichier et c'est fait.
Après la configuration du logiciel, vous n'aurez normalement plus besoin de le toucher.
La reconnaissance faciale n'est pas une réelle protection car elle a une marge d'erreur. Il faut lui préférer un bon mot de passe. Néanmoins, la reconnaissance permet d'aller plus vite et de faire comme dans les films .
Le leurre avec une photo n'a pas l'air de fonctionner et pour le moment, personne d'autre que moi a réussi à ouvrir ma session avec son visage.
Un problème d'analyse ou de reconnaissance peut être dû à la luminosité du lieu. Si pour la photo témoin, le logiciel n'arrive pas à vous détecter, changer la luminosité en allumant la pièce.
Apparemment, certaines coupes de cheveux peuvent gêner l'identification et l'analyse.
Quand je tape une commande avec sudo, il m'identifie bien et marque “Verification successful” et ensuite “Erreur de segmentation”. Il n'effectue pas la commande mais j'ai quand même les droits root, je n'ai qu'à relancer la commande.
Solution: Selon le développeur du logiciel, il faudrait soit utiliser OpenCV 1.1 ou compiler OpenCV 2.0 avec ./configure –without-openmp
Avec la version 2.1.0, tout fonctionne chez moi.
Ce module d'authentification ne fonctionne pas pour certains webcams.
Solution: Installez libv4l puis créez le fichier /etc/ld.so.preload , ajoutez dans ce fichier le chemin vers v411compat.so généralement il se trouve dans /usr/lib/libv4l .
Il semblerais qu'il soit incompatible avec l'interface Unity, Il est automatiquement désinstallé lors de la mise a jour vers Natty et on ne peux le compiler depuis cette version.
S'il est installé sous Ubuntu Natty Narwall, l'authentification se fait correctement, mais le thème (quel qu'il soit) ne se charge pas correctement et on demande ensuite le mot de passe plusieurs fois (5 ou 6 fois).
Solution: Pour les utilisateurs de Natty vous pouvez passer a Gnome 3 (Ubuntu Gnome Remix) Cette solution NE FONCTIONNE pas avec sous Oneiric Ocelot
Je n'ai pas encore trouvé le moyen de le désinstaller complètement et l'auteur ne répond tout simplement pas aux demandes… Par contre, pour le désactiver, il faut juste éditer le fichier :
/etc/pam.d/gdm
Et commenter la ligne :
auth sufficient pam_face_authentication.so enableX
sudo apt-get remove --purge pam-face-authentication
enlever le dépôt antonio.chiurazzi/ppa de la liste des dépôts
éditer /etc/pam.d/gdm, /etc/pam.d/gnome-screensaver, /etc/pam.d/sudo pour y enlever les références du type “auth sufficient pam_face_authentication.so”