Prendre une photo avec une webcam d'ordinateur portable après avoir entré un mot de passe incorrect

10

J'aimerais configurer mon ordinateur portable de sorte que si un mauvais mot de passe est entré lorsque l'écran est verrouillé, une photo est prise à l'aide de la webcam de l'ordinateur portable. J'ai examiné xlock(à partir du package xlockmore ), mais il n'y a pas d'option pour exécuter une action personnalisée lorsqu'un mauvais mot de passe est entré.

Il y a une question similaire sur SuperUser, mais ne cible que Windows: Prendre une photo après avoir entré un mauvais mot de passe .

(Pour ceux qui aiment les photos de chats amusants: mon ordinateur portable est configuré pour prendre une photo après 3 tentatives de mot de passe incorrectes .)

Petr Pudlák
la source
2
Avez-vous vérifié ce github.com/jeroennijhof/pam_script
Hristo Mohamed
7
vous pourriez également avoir une réponse ici askubuntu.com/questions/253189/…
mazs
@mazs Merci, c'est plus ou moins ce que je cherchais.
Petr Pudlák
Maintenant, je comprends pourquoi tous ces hackers travaillent dans des sweats à capuche dans une pièce sombre.
Utku

Réponses:

4

Copié ce post sur demander Ubuntu par gertvdijk , souligné par mazs dans les commentaires. Dans le but de clore cette question.


Basé sur ce post sur les Ubuntuforums de BkkBonanza .

Il s'agit d'une approche utilisant PAM et qui fonctionnera pour toutes les tentatives de connexion ayant échoué. En utilisant SSH, un terminal virtuel ou via l'écran de connexion normal, peu importe car tout est géré par PAM à la fin.

  1. Installez ffmpeg , nous allons l'utiliser comme un moyen en ligne de commande pour 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.

  2. Créez un petit script quelque part, par exemple /usr/local/bin/grabpictureavec 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
    

    Modifiez le / dev / video0 avec le périphérique vidéo réel de votre webcam et choisissez un chemin où les images sont enregistrées - je choisis juste /tmp. Dans la nouvelle version d'Ubuntu, utilisez avconvplutôt que ffmpeg( sudo apt-get install libav-tools).

  3. Rendez-le exécutable, par exemple chmod +x /usr/local/bin/grabpicture.

  4. Testez - le, simplement en l' appelant: /usr/local/bin/grabpicture. Vérifiez si vous voyez des fichiers apparaître dans /tmp/vid....jpg.

  5. Configurez PAM pour appeler cela à chaque tentative échouée.

    Remarque: faites-le soigneusement - si cela échoue, vous ne pourrez plus accéder à votre système de manière régulière.

    1. Ouvrez une fenêtre de terminal avec un accès root (sudo -i) et laissez-la ouverte - juste au cas où vous bousilleriez dans les étapes suivantes.
    2. Ouvrez /etc/pam.d/common-authdans votre éditeur préféré, par exemple en faisant gksudo gedit /etc/pam.d/common-auth. Gardez à l'esprit pour les étapes suivantes que l'ordre des lignes dans ce fichier est important.

    3. 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, cela ressemble à ceci:

      auth    [success=1 default=ignore]      pam_unix.so nullok_secure
      
    4. Dans cette ligne, remplacez success = 1 par success = 2 pour qu'il ignore notre script en cas de succès. Ceci est une étape importante.

    5. Juste en dessous, ajoutez-en un nouveau pour appeler le script réel:

      auth    [default=ignore]                pam_exec.so seteuid /usr/local/bin/grabpicture
      
    6. Enregistrez et fermez le fichier. Pas besoin de redémarrer quoi que ce soit.

  6. Essaye-le.

    1. Dans une nouvelle fenêtre de terminal, en tant qu'utilisateur normal, essayez su -l usernamede vous connecter en tant qu'autre utilisateur avec un nom d'utilisateur username(changez avec un réel bien sûr). Entrez délibérément le mauvais mot de passe. Vérifiez si cela donne une nouvelle image.
    2. Comme ci-dessus, mais saisissez maintenant le mot de passe correct. Vérifiez si vous vous connectez et cela ne donne pas lieu à une photo.
  7. 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 mauvais mot de passe à partir de l'écran de connexion.

Centimane
la source