Vraag Kan ik de webcam een ​​foto laten maken wanneer een verkeerd wachtwoord wordt ingevoerd?


Ik gebruik een laptop. Ik zat te denken om ondersteuning te hebben in mijn Ubuntu-machine. Wanneer een onjuist wachtwoord wordt ingevoerd, wordt later een foto gemaakt die onthult wie toegang probeert te krijgen.

Ik heb rond gezocht en het enige dat ik heb gevonden, is dingen om dit op Macs te doen. Is het mogelijk om een ​​script voor Ubuntu te schrijven om hetzelfde te doen.

Indien mogelijk, wat is een script of software om dit te laten gebeuren.


69
2018-02-09 19:59


oorsprong


Een foto op het lightdm-inlogscherm of zoiets als een met een wachtwoord beveiligde screensaver (eigenlijk voordat je inlogde of na inloggen)? - Luis Alvarado♦
Ja foto op lightdm inlogscherm wanneer gebruiker een verkeerd wachtwoord heeft ingevoerd. - twister_void
"Goede" oplossing via PAM op de Ubuntuforums. Oké, ik zal dit als een antwoord posten. :) - gertvdijk
U kunt ook een toepassing van derden installeren, zoals Prooi. Het doet niet precies wat u vraagt, maar het is gespecialiseerd in het beschermen en herstellen van uw computer in geval van diefstal. - Paddy Landau
Vergeet niet het gebruik te vermelden van de webcam om een ​​foto te maken voor het geval u zich in een gevoelige / beschermde omgeving bevindt. - pl1nk


antwoorden:


Gebaseerd op deze post op de Ubuntuforums door BkkBonanza.

Dit is een benadering met PAM en werkt voor alle mislukte inlogpogingen. Met SSH, een virtuele terminal of via het reguliere inlogscherm doet het er niet toe, want uiteindelijk wordt alles door PAM afgehandeld.

  1. Installeren ffmpeg Install ffmpeg, we gaan dit gebruiken als een manier om de webcambeelden te grijpen. Bijwerken: ffmpeg is verwijderd wanneer u een upgrade uitvoert naar Ubuntu 14.04. We kunnen avconv gebruiken in plaats van ffmpeg in het onderstaande script. Het is niet nodig om iets apart te installeren.

  2. Maak ergens een klein script, bijvoorbeeld /usr/local/bin/grabpicture met de volgende inhoud:

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

    Verander de /dev/video0 met het eigenlijke videoapparaat van je webcam en kies een pad waar de foto's worden opgeslagen - ik kies gewoon /tmp. In de nieuwere versie van Ubuntu gebruik avconv in plaats van ffmpeg (sudo apt-get install libav-tools).

  3. Maak het uitvoerbaar, bijv. chmod +x /usr/local/bin/grabpicture.

  4. Test het, door het gewoon te noemen: /usr/local/bin/grabpicture. Controleer of je bestanden ziet verschijnen /tmp/vid....jpg.

  5. Configureer PAM om dit bij elke mislukte poging aan te roepen.

    Opmerking: doe dit zorgvuldig - als dit niet lukt, kunt u niet meer op een normale manier toegang krijgen tot uw systeem.

    1. Open een terminalvenster met roottoegang (sudo -i) en laat het openstaan ​​- voor het geval u de volgende stappen verknoeit.
    2. Open /etc/pam.d/common-auth in je favoriete editor, bijvoorbeeld door te doen gksudo gedit /etc/pam.d/common-auth. Onthoud voor de volgende stappen dat de volgorde van regels in dit bestand belangrijk is.
    3. Zoek de regel hieronder. Standaard is er één regel voor de ene met pam_deny.so. Op mijn 12.04-systeem ziet het er als volgt uit:

      auth    [success=1 default=ignore]      pam_unix.so nullok_secure
      
    4. Wijzig in deze regel de success=1 naar success=2 om ons script te laten overslaan op succes. Dit is een belangrijke stap.

    5. Precies daar beneden, voeg een nieuwe toe om het script te noemen:

      auth    [default=ignore]                pam_exec.so seteuid /usr/local/bin/grabpicture
      
    6. Sla het bestand op en sluit het. U hoeft niets opnieuw te starten.

  6. Test het.

    1. Probeer het als een gewone gebruiker in een nieuw terminalvenster su -l username om in te loggen als een andere gebruiker met gebruikersnaam username (verander met een echte natuurlijk). Voer opzettelijk het verkeerde wachtwoord in. Controleer of dit resulteert in een nieuwe foto.
    2. Hetzelfde als hierboven, maar voer nu het juiste wachtwoord in. Controleer of u zich aanmeldt en er geen foto wordt gemaakt.
  7. Als de tests zijn geslaagd, kunt u uitloggen bij uw DE (Unity / KDE / ...) en zou u hetzelfde moeten zien wanneer u een verkeerd wachtwoord invoert vanuit het inlogscherm.


57
2018-02-09 20:51



Dat is slim. Twee vragen: (1) Mocht u geen andere map gebruiken dan /tmp, omdat /tmp wordt gewist bij elke herstart? (2) Hoe vertel je wat je huidige video-apparaat is? - Paddy Landau
Dit werkt, maar ik wilde 3 dingen toevoegen. (1) We kunnen / var / tmp gebruiken die niet wordt gewist bij opnieuw opstarten. (2) Loop voorzichtig met deze oplossing, want het is mogelijk om vast te zitten in een oneindige lus van "lage grafische modus" en / of "de batterijstatus te controleren", zoals ik was. (3) Als u vastloopt, start u opnieuw op en komt u in de herstelmodus (druk op left-shift); selecteer "failsafe grafische modus" en kijk of / is gemount RW; ga nu naar de rootshell; cd naar /etc/pam.d; chmod common-auth naar RW, bewerk met nano om de toegevoegde regel te verwijderen om het grabpicture-script aan te roepen; opslaan; Uitgang; reboot. - Sri
Ik ontdekte waarom mijn pc vast kwam te zitten. Stappen 5.3 tot 5.5 in het antwoord moeten worden aangepast aan de regels die het common-auth-bestand heeft. Mijn common-auth had ook een andere regel voor pam_winbind.so tussen de regels met pam_unix.so en pam_deny.so. In principe moeten de auth-regels voor "succes" het capture-script en de regel pam_deny.so overslaan. - Sri
Ik probeer ook hetzelfde concept, maar het bovenstaande antwoord werkt niet, het kost me een lage grafische fout, noch een afbeelding, noch een foutmelding voor een verkeerde poging. .. Wat nu te doen. (Gertvdijk) - SachiN
moet misschien worden bijgewerkt om avconv of opencv te gebruiken in tegenstelling tot de nu verouderde ffmpeg - RobotHumans