Pertanyaan Bisakah saya membuat webcam mengambil gambar ketika kata sandi yang salah dimasukkan?


Saya menggunakan laptop. Saya berpikir untuk memiliki dukungan di mesin Ubuntu saya. Ketika kata sandi yang salah dimasukkan, gambar diambil kemudian mengungkapkan siapa yang telah mencoba untuk mendapatkan akses.

Saya telah mencari di sekitar dan satu-satunya hal yang saya temukan adalah hal-hal untuk melakukan ini pada Mac. Apakah mungkin untuk menulis skrip untuk Ubuntu untuk melakukan hal yang sama.

Jika memungkinkan maka apa yang dimaksud dengan skrip atau Perangkat Lunak untuk mewujudkannya.


69
2018-02-09 19:59


asal


Gambar di layar masuk lightdm atau sesuatu seperti screensaver yang dilindungi kata sandi (Pada dasarnya sebelum masuk atau setelah masuk)? - Luis Alvarado♦
Ya gambar di layar login lightdm saat pengguna salah memasukkan kata sandi. - twister_void
Solusi "tepat" melalui PAM di Ubuntuforums. Oke saya akan posting ini sebagai jawaban. :) - gertvdijk
Atau, instal aplikasi pihak ketiga seperti Mangsa. Itu tidak tepat seperti yang Anda minta, tetapi ia mengkhususkan dalam melindungi dan memulihkan komputer Anda dalam kasus pencurian. - Paddy Landau
Jangan lupa untuk menyebutkan penggunaan webcam mengambil gambar jika Anda berada di lingkungan yang sensitif / terlindungi. - pl1nk


Jawaban:


Berdasarkan posting ini pada Ubuntuforums oleh BkkBonanza.

Ini adalah pendekatan menggunakan PAM dan akan berfungsi untuk semua upaya masuk yang gagal. Menggunakan SSH, terminal virtual atau melalui layar login biasa, tidak masalah karena semuanya ditangani oleh PAM pada akhirnya.

  1. Memasang ffmpeg Install ffmpeg, kita akan menggunakan ini sebagai cara baris perintah untuk mengambil gambar webcam. Memperbarui: ffmpeg dihapus ketika Anda meng-upgrade ke Ubuntu 14.04. Kita bisa menggunakan avconv sebagai pengganti ffmpeg di skrip di bawah ini. Tidak perlu menginstal apa pun secara terpisah.

  2. Buat skrip kecil di suatu tempat, mis. /usr/local/bin/grabpicture dengan konten berikut:

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

    Mengubah /dev/video0 dengan perangkat video sebenarnya dari webcam Anda dan pilih jalur di mana gambar-gambar itu disimpan - saya hanya memilih /tmp. Di versi terbaru penggunaan Ubuntu avconv dari pada ffmpeg (sudo apt-get install libav-tools).

  3. Jadikan itu dapat dieksekusi, mis. chmod +x /usr/local/bin/grabpicture.

  4. Uji, dengan hanya menyebutnya: /usr/local/bin/grabpicture. Periksa apakah Anda melihat file yang muncul /tmp/vid....jpg.

  5. Konfigurasikan PAM untuk memanggil ini pada setiap upaya yang gagal.

    Catatan: lakukan ini dengan hati-hati - jika ini gagal Anda tidak akan bisa mendapatkan akses ke sistem Anda lagi dengan cara biasa.

    1. Buka jendela terminal dengan akses root (sudo -i) dan biarkan terbuka - jika Anda gagal di langkah berikutnya.
    2. Buka /etc/pam.d/common-auth di editor favorit Anda, mis. dengan melakukan gksudo gedit /etc/pam.d/common-auth. Perlu diingat untuk langkah-langkah berikut agar urutan baris dalam file ini penting.
    3. Temukan garis di bawah ini. Secara default ada satu baris sebelum satu dengan pam_deny.so. Pada sistem 12.04 saya terlihat seperti ini:

      auth    [success=1 default=ignore]      pam_unix.so nullok_secure
      
    4. Di baris ini, ubah success=1 untuk success=2 untuk memilikinya melewati skrip kami pada succes. Ini merupakan langkah penting.

    5. Tepat di bawah sana, tambahkan yang baru untuk memanggil skrip yang sebenarnya:

      auth    [default=ignore]                pam_exec.so seteuid /usr/local/bin/grabpicture
      
    6. Simpan dan tutup file. Tidak perlu memulai ulang apa pun.

  6. Menguji.

    1. Di jendela terminal baru, sebagai pengguna biasa, coba su -l username untuk masuk sebagai pengguna lain dengan nama pengguna username (Ubah dengan yang sebenarnya tentu saja). Sengaja masukkan kata sandi yang salah. Periksa apakah ini menghasilkan gambar baru.
    2. Sama seperti di atas, tetapi sekarang masukkan kata sandi yang benar. Periksa apakah Anda masuk dan tidak menghasilkan gambar yang diambil.
  7. Jika tes telah berhasil, Anda dapat keluar dari DE (Unity / KDE / ...) dan Anda akan melihat hal yang sama ketika memasukkan kata sandi yang salah dari layar login.


57
2018-02-09 20:51



Itu pintar. Dua pertanyaan: (1) Bukankah seharusnya Anda menggunakan folder selain /tmp, karena /tmp dihapus setiap kali Anda reboot? (2) Bagaimana Anda tahu apa perangkat video Anda yang sebenarnya? - Paddy Landau
Ini berfungsi tetapi saya ingin menambahkan 3 hal. (1) Kita dapat menggunakan / var / tmp yang tidak dibersihkan saat reboot. (2) Tread dengan solusi ini dengan hati-hati karena mungkin terjebak dalam putaran tak terbatas "mode grafis rendah" dan / atau "memeriksa keadaan baterai", seperti saya. (3) Jika Anda macet, reboot dan masuk ke mode pemulihan (tekan kiri-shift); pilih "mode grafis failsafe" dan lihat apakah / sudah terpasang RW; sekarang drop ke root shell; cd ke /etc/pam.d; chmod common-auth to RW, edit menggunakan nano untuk menghapus garis yang ditambahkan untuk memanggil skrip grabpicture; menyimpan; keluar; reboot. - Sri
Saya tahu mengapa PC saya macet. Langkah 5.3 hingga 5.5 dalam jawaban perlu disesuaikan sesuai dengan baris apa yang dimiliki file autentikasi. Autentikasi umum saya juga memiliki baris lain untuk pam_winbind.so di antara baris yang memiliki pam_unix.so dan pam_deny.so. Pada dasarnya baris auth pada "sukses" harus melewati skrip penangkapan serta garis pam_deny.so. - Sri
Saya juga mencoba konsep yang sama tetapi jawaban yang disebutkan di atas tidak bekerja itu membawa saya kesalahan grafis rendah, tidak dibutuhkan gambar atau pesan kesalahan untuk usaha yang salah. .. Apa yang harus dilakukan selanjutnya. (gertvdijk) - SachiN
mungkin harus diperbarui untuk menggunakan avconv atau opencv sebagai lawan dari ffmpeg yang sekarang ditinggalkan - RobotHumans