Yanlış bir şifre girildiğinde kameranın fotoğrafını çekebilir miyim?

69

Bir dizüstü bilgisayar kullanıyorum. Ubuntu makinemde destek bulmayı düşünüyordum. Yanlış bir şifre girildiğinde, daha sonra kimlerin erişim elde etmeye çalıştığını gösteren bir fotoğraf çekilir.

Çevremde arama yaptım ve bulduğum tek şey, Mac'lerde bunu yapacak şeyler. Ubuntu'nun da aynısını yapması için bir betik yazmak mümkün mü?

Mümkünse, bunun gerçekleşmesi için bir komut dosyası veya Yazılım nedir?

    
sordu twister_void 09.02.2013 20:59

1 cevap

57

Ubuntuforums'ta bu gönderiye göre BkkBonanza

Bu PAM kullanarak bir yaklaşımdır ve tüm başarısız giriş denemeleri için çalışacaktır. SSH'yi, sanal bir terminali veya normal giriş ekranını kullanarak, her şeyin sonunda PAM tarafından ele alınması önemli değil.

  1. ffmpeg adresini yükleyin. a>, bunu webcam görüntülerini yakalamanın bir komut satırı yolu olarak kullanacağız. Güncelle : Ubuntu 14.04 sürümüne yükselttiğinizde ffmpeg kaldırılır. Aşağıdaki betikte ffmpeg yerine avconv kullanabiliriz. Ayrı bir şey yüklemeye gerek yok.

  2. Bir yerde küçük bir komut dosyası oluşturun, ör. Aşağıdaki içerikle /usr/local/bin/grabpicture :

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

    Web kameranızın gerçek video cihazıyla /dev/video0 değerini değiştirin ve resimlerin kaydedildiği bir yol seçin - Sadece /tmp değerini seçiyorum. Ubuntu'nun daha yeni sürümünde avconv yerine ffmpeg kullanın ( sudo apt-get install libav-tools ).

  3. Çalıştırılabilir yapın, ör. % Co_de%.

  4. Bunu sadece test ederek test edin: chmod +x /usr/local/bin/grabpicture . % Co_de% dosyasında görünen dosyaların olup olmadığını kontrol edin.

  5. Her başarısız denemede bunu aramak için PAM'yi yapılandırın.

    Not: bunu dikkatli bir şekilde yapın - bu başarısız olursa, sisteminize düzenli olarak yeniden erişemezsiniz.

    1. Kök erişimli bir terminal penceresi açın ( /usr/local/bin/grabpicture ) ve açık bırakın - sadece sonraki adımlarda hata yaparsanız.
    2. Favori düzenleyicinizde /tmp/vid....jpg 'yi açın, ör. sudo -i yaparak. Aşağıdaki adımlarda bu dosyadaki satırların sırasının önemli olduğunu unutmayın.
    3. Aşağıdaki satırı bulun. Varsayılan olarak, /etc/pam.d/common-auth olan bir önce bir satır var. 12.04 sistemimde şöyle görünüyor:

      auth    [success=1 default=ignore]      pam_unix.so nullok_secure
      
    4. Bu satırda, komut dizimizin başarılarını atlamasını sağlamak için gksudo gedit /etc/pam.d/common-auth 'sini pam_deny.so olarak değiştirin. Bu önemli bir adımdır.

    5. Hemen altında, gerçek komut dosyasını çağırmak için yeni bir tane ekleyin:

      auth    [default=ignore]                pam_exec.so seteuid /usr/local/bin/grabpicture
      
    6. Dosyayı kaydedin ve kapatın. Hiçbir şeyi yeniden başlatmaya gerek yok.

  6. Test edin.

    1. Yeni bir terminal penceresinde, normal kullanıcı olarak, success=1 kullanıcı adını içeren başka bir kullanıcı olarak giriş yapmak için success=2 değerini deneyin (elbette gerçek biriyle değiştirin). Yanlış şifreyi yanlış gir. Bunun yeni bir fotoğraf olup olmadığını kontrol edin.
    2. Yukarıdakiyle aynı, ancak şimdi doğru şifreyi girin. Giriş yapıp yapmadığınızı kontrol edin ve resmin çekilmesine neden olmaz.
  7. Eğer testler başarılı olursa DE (Unity / KDE / ...) adresinden çıkış yapabilirsiniz ve giriş ekranından yanlış şifre girerken de aynısını görmelisiniz.

verilen cevap gertvdijk 09.02.2013 21:51

Etiketlerdeki diğer soruları oku