Robienie zdjęcia za pomocą kamery internetowej laptopa po wprowadzeniu nieprawidłowego hasła

10

Chciałbym tak skonfigurować laptopa, aby po wprowadzeniu nieprawidłowego hasła po zablokowaniu ekranu zostało zrobione zdjęcie za pomocą kamery internetowej laptopa. Zbadałem xlock(od xlockmore pakietu), ale nie ma opcji, aby uruchomić niestandardową akcję, gdy błędne hasło zostanie wprowadzone.

Podobne pytanie dotyczy SuperUser, ale dotyczy tylko systemu Windows: zrobienie zdjęcia po wprowadzeniu nieprawidłowego hasła .

(Dla tych, którzy lubią śmieszne zdjęcia kotów: Mój laptop jest skonfigurowany do robienia zdjęć po 3 błędnych próbach podania hasła ).

Petr Pudlák
źródło
2
Czy sprawdziłeś to github.com/jeroennijhof/pam_script
Hristo Mohamed
7
możesz również znaleźć odpowiedź tutaj askubuntu.com/questions/253189/…
mazs
@mazs Dzięki, mniej więcej tego szukałem.
Petr Pudlák
Teraz rozumiem, dlaczego wszyscy ci hakerzy pracują w bluzach z kapturem w ciemnym pokoju.
Utku

Odpowiedzi:

4

Skopiowałem ten post na pytanie Ubuntu autorstwa gertvdijk , wskazane przez labirynty w komentarzach. W celu zamknięcia tego pytania.


Na podstawie tego postu na Ubuntuforums autorstwa BkkBonanza .

Jest to podejście wykorzystujące PAM i będzie działać dla wszystkich nieudanych prób logowania. Używając SSH, wirtualnego terminala lub zwykłego ekranu logowania, nie ma to znaczenia, ponieważ ostatecznie wszystko jest obsługiwane przez PAM.

  1. Zainstaluj ffmpeg , użyjemy tego jako sposobu przechwytywania obrazów z kamery. Aktualizacja: ffmpeg jest usuwany po aktualizacji do Ubuntu 14.04. Możemy użyć avconv zamiast ffmpeg w poniższym skrypcie. Nie trzeba instalować niczego osobno.

  2. Utwórz gdzieś mały skrypt, np /usr/local/bin/grabpicture. O następującej treści

    #!/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
    

    Zmień / dev / video0 na rzeczywiste urządzenie wideo kamery internetowej i wybierz ścieżkę, w której zapisywane są zdjęcia - po prostu wybieram /tmp. W nowszej wersji Ubuntu użyj avconvzamiast ffmpeg( sudo apt-get install libav-tools).

  3. Spraw, by był wykonywalny, np chmod +x /usr/local/bin/grabpicture.

  4. Przetestować go, nazywając go po prostu: /usr/local/bin/grabpicture. Sprawdź, czy widzisz pliki pojawiające się w /tmp/vid....jpg.

  5. Skonfiguruj PAM, aby wywoływał to przy każdej nieudanej próbie.

    Uwaga: rób to ostrożnie - jeśli to się nie powiedzie, nie będziesz w stanie uzyskać regularnego dostępu do systemu.

    1. Otwórz okno terminala z dostępem do roota (sudo -i) i pozostaw je otwarte - na wypadek, gdybyś spieprzył kolejne kroki.
    2. Otwórz /etc/pam.d/common-authw swoim ulubionym edytorze, np gksudo gedit /etc/pam.d/common-auth. Robiąc . Należy pamiętać o następujących krokach, według których kolejność wierszy w tym pliku ma znaczenie.

    3. Znajdź linię poniżej. Domyślnie przed wierszem jest jedna linia pam_deny.so. W moim systemie 12.04 wygląda to tak:

      auth    [success=1 default=ignore]      pam_unix.so nullok_secure
      
    4. W tej linii zmień sukces = 1 na sukces = 2, aby pomijał nasz skrypt o sukcesie. To ważny krok.

    5. Poniżej dodaj nowy, aby wywołać rzeczywisty skrypt:

      auth    [default=ignore]                pam_exec.so seteuid /usr/local/bin/grabpicture
      
    6. Zapisz i zamknij plik. Nie trzeba niczego restartować.

  6. Sprawdź to.

    1. W nowym oknie terminala, jako zwykły użytkownik, spróbuj su -l usernamezalogować się jako inny użytkownik za pomocą nazwy użytkownika username(oczywiście zmień na rzeczywisty). Celowo wprowadź nieprawidłowe hasło. Sprawdź, czy to daje nowe zdjęcie.
    2. To samo co powyżej, ale teraz wprowadź poprawne hasło. Sprawdź, czy się zalogowałeś i nie powoduje to wykonania zdjęcia.
  7. Jeśli testy się powiodły, możesz wylogować się z DE (Unity / KDE / ...) i powinieneś zobaczyć to samo przy wprowadzaniu błędnego hasła z ekranu logowania.

Centyman
źródło