Disalin posting ini di tanyakan Ubuntu oleh gertvdijk , ditunjukkan oleh mazs di komentar. Dalam upaya menutup pertanyaan ini.
Berdasarkan posting ini di Ubuntuforums oleh BkkBonanza .
Ini adalah pendekatan menggunakan PAM dan akan bekerja untuk semua upaya login gagal. Menggunakan SSH, terminal virtual atau melalui layar login biasa, tidak masalah karena semuanya ditangani oleh PAM pada akhirnya.
Instal ffmpeg , kita akan menggunakan ini sebagai cara baris perintah untuk mengambil gambar webcam. Pembaruan: ffmpeg dihapus ketika Anda memutakhirkan ke Ubuntu 14.04. Kita dapat menggunakan avconv sebagai ganti ffmpeg dalam skrip di bawah ini. Tidak perlu menginstal apa pun secara terpisah.
Buat skrip kecil di suatu tempat, misalnya /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
Ubah / dev / video0 dengan perangkat video sebenarnya dari webcam Anda dan pilih jalur di mana gambar disimpan - Saya hanya memilih /tmp
. Dalam versi Ubuntu yang lebih baru, gunakan avconv
bukannya ffmpeg
( sudo apt-get install libav-tools
).
Jadikan itu dapat dieksekusi, mis chmod +x /usr/local/bin/grabpicture
.
Mengujinya, dengan hanya menyebutnya: /usr/local/bin/grabpicture
. Periksa apakah Anda melihat file muncul /tmp/vid....jpg
.
Konfigurasikan PAM untuk memanggil ini pada setiap upaya yang gagal.
Catatan: lakukan ini dengan hati-hati - jika gagal, Anda tidak akan dapat lagi mengakses sistem Anda secara teratur.
- Buka jendela terminal dengan akses root (sudo -i) dan biarkan terbuka - kalau-kalau Anda mengacaukan pada langkah berikutnya.
Buka /etc/pam.d/common-auth
di editor favorit Anda, misalnya dengan melakukan gksudo gedit /etc/pam.d/common-auth
. Ingatlah untuk langkah-langkah berikut yang mengatur urutan baris dalam file ini.
Temukan baris di bawah ini. Secara default ada satu baris sebelum dengan pam_deny.so
. Pada sistem 12.04 saya terlihat seperti ini:
auth [success=1 default=ignore] pam_unix.so nullok_secure
Pada baris ini ubah keberhasilan = 1 menjadi sukses = 2 untuk menjadikannya melewatkan skrip kami jika berhasil. Ini merupakan langkah penting.
Tepat di bawah sana, tambahkan yang baru untuk memanggil skrip aktual:
auth [default=ignore] pam_exec.so seteuid /usr/local/bin/grabpicture
Simpan dan tutup file. Tidak perlu memulai kembali apa pun.
Menguji.
- Di jendela terminal baru, sebagai pengguna biasa, cobalah
su -l username
masuk sebagai pengguna lain dengan nama pengguna username
(tentu saja ganti dengan yang sebenarnya). Masukkan kata sandi yang salah dengan sengaja. Periksa apakah ini menghasilkan gambar baru.
- Sama seperti di atas, tetapi sekarang masukkan kata sandi yang benar. Periksa apakah Anda masuk dan itu tidak menghasilkan gambar yang diambil.
Jika tes berhasil, Anda dapat keluar dari DE (Unity / KDE / ...) dan Anda akan melihat hal yang sama saat memasukkan kata sandi yang salah dari layar login.