J'utilise un ordinateur portable. Je pensais avoir un support dans ma machine Ubuntu. Lorsqu'un mot de passe incorrect est entré, une photo est prise plus tard, révélant qui a tenté d'accéder.
J'ai fait des recherches et la seule chose que j'ai trouvée est de pouvoir le faire sur Mac. Est-il possible d'écrire un script pour Ubuntu pour faire la même chose.
Si possible, alors qu'est-ce qu'un script ou un logiciel pour y arriver?.
Basé sur ce post sur les Ubuntuforums par BkkBonanza .
Cette approche utilise PAM et fonctionne pour toutes les tentatives de connexion infructueuses. Avec SSH, un terminal virtuel ou via l'écran de connexion normal, peu importe, tout est géré par PAM à la fin.
Installer ffmpeg , nous allons utiliser cela comme un moyen en ligne de commande de récupérer les images de la webcam. Mise à jour : ffmpeg est supprimé lors de la mise à niveau vers Ubuntu 14.04. Nous pouvons utiliser avconv à la place de ffmpeg dans le script ci-dessous. Pas besoin d'installer quoi que ce soit séparément.
Créez un petit script quelque part, par exemple /usr/local/bin/grabpicture
avec le contenu suivant:
#!/bin/bash
ts=`date +%s`
ffmpeg -f video4linux2 -s vga -i /dev/video0 -vframes 3 /tmp/vid-$ts.%01d.jpg
exit 0 #important - has to exit with status 0
Changez le /dev/video0
avec le périphérique vidéo réel de votre webcam et choisissez un chemin dans lequel les images sont en cours d'enregistrement. Je choisis simplement /tmp
. Dans la nouvelle version d'Ubuntu, utilisez avconv
au lieu de ffmpeg
(Sudo apt-get install libav-tools
).
Rendez-le exécutable, par exemple chmod +x /usr/local/bin/grabpicture
.
Testez-le simplement en l'appelant: /usr/local/bin/grabpicture
. Vérifiez si les fichiers apparaissent dans /tmp/vid....jpg
.
Configurez PAM pour qu'il appelle à chaque tentative infructueuse.
Remarque: procédez avec précaution. Si cela échoue, vous ne pourrez plus accéder à votre système de manière régulière.
Sudo -i
) et laissez-la ouverte - juste au cas où vous vissez les étapes suivantes./etc/pam.d/common-auth
dans votre éditeur favori, par exemple. en faisant gksudo gedit /etc/pam.d/common-auth
. N'oubliez pas, pour les étapes suivantes, que l'ordre des lignes dans ce fichier est important.Localisez la ligne ci-dessous. Par défaut, il y a une ligne avant celle avec pam_deny.so
. Sur mon système 12.04, il ressemble à ceci:
auth [success=1 default=ignore] pam_unix.so nullok_secure
Dans cette ligne, modifiez le success=1
en success=2
pour le laisser ignorer notre script s'il réussit. Ceci est une étape importante.
Juste en dessous, ajoutez-en un nouveau pour appeler le script actuel:
auth [default=ignore] pam_exec.so seteuid /usr/local/bin/grabpicture
Enregistrez et fermez le fichier. Pas besoin de redémarrer quoi que ce soit.
Essaye-le.
su -l username
pour vous connecter en tant qu'utilisateur différent avec le nom d'utilisateur username
(changez avec un vrai bien sûr). Entrez délibérément le mauvais mot de passe. Vérifiez si cela entraîne une nouvelle image.Si les tests ont réussi, vous pouvez vous déconnecter de votre DE (Unity/KDE/...) et vous devriez voir la même chose lorsque vous entrez un mot de passe incorrect à partir de l'écran de connexion.