Seperti yang dikatakan orang lain di sini, tidak mungkin hanya melindungi program seperti terminal gnome atau terminal lain dari pencatatan kunci, hanya jika Anda membatasi pengguna standar untuk menjalankan logger kunci apa pun atau jika Anda menghentikan / menghentikan sementara proses logger kunci.
Selanjutnya saya akan menunjukkan kepada Anda bagaimana Anda bisa melakukan ini dalam kasus xinputperintah, tetapi metode yang sama dapat digunakan untuk logger kunci lainnya. Jika pencatat kunci menggunakan xinputperintah, Anda tidak perlu menerapkan metode ini selama Anda menerapkannya xinput.
1. Batasi pengguna standar untuk menggunakan xinputperintah
Anda dapat membatasi pengguna standar untuk menggunakan xinputperintah menggunakan perintah berikut:
sudo chmod go-x /usr/bin/xinput
2. Batasi pengguna standar untuk menggunakan xinputperintah dengan test-xi2argumen
Anda dapat membatasi pengguna standar untuk menggunakan xinputperintah dengan test-xi2argumen dengan menulis pembungkus untuk perintah ini. Untuk melakukan ini, masuk terminal dan ikuti instruksi di bawah ini:
Dapatkan hak istimewa root:
sudo -i
Pindahkan xinputfile di direktori lain yang tidak ada dalam PATH pengguna mana pun (misalnya /opt):
mv /usr/bin/xinput /new/path/to/xinput
Buat pembungkus Anda untuk xinputperintah di /usr/bin:
gedit /usr/bin/xinput
Tambahkan skrip berikut di dalam:
#!/bin/bash
if [ "$@" != "${@/test-xi2/}" -a "$(whoami)" != "root" ]; then
echo "`basename $0` $@: Permission denied"
else
/new/path/to/xinput $@
fi
Simpan file dan tutup.
Jadikan bungkus baru dapat dieksekusi:
chmod +x /usr/bin/xinput
Sementara metode pertama adalah keselamatan, menggunakan metode kedua, pengguna masih dapat mengelak dengan memanggil aslinya xinputsecara langsung jika dia tahu lokasi barunya.
3. Hentikan / jeda xinputproses apa pun
Anda dapat menghentikan atau menghentikan xinputproses apa pun sebelum memasukkan kata sandi atau hal lain yang tidak ingin Anda login. Untuk melakukan ini, tambahkan fungsi bash berikut di akhir ~/.bashrcfile Anda :
processof () {
xinput_pids=" $(pidof $1) "
if [ "$xinput_pids" = " " ]; then
echo "Nothing to stop/pause/continue. $1: no such process!"
return
fi
for pid in $xinput_pids; do
case $2 in
"stop")
kill $pid
echo "$1: stopped"
;;
"pause")
kill -stop $pid
echo "$1: paused"
;;
"continue")
kill -cont $pid
echo "$1: continue"
;;
*)
echo "$1 is runnig"
;;
esac
done
}
Sekarang, setelah Anda membuka kembali terminal Anda, kapan pun Anda mau, menggunakan fungsi ini Anda dapat:
hentikan / bunuh semua xinputproses:
processof xinput stop
jeda semua xinputproses:
processof xinput pause
melanjutkan semua xinputproses:
processof xinput continue
Bahkan, dengan fungsi ini Anda dapat menghentikan / menghentikan sementara proses yang Anda inginkan sebelum melakukan sesuatu (seperti memasukkan kata sandi):
processof [process_name] [stop|pause|continue]
Jika Anda tidak tahu cara mendeteksi cara mendeteksi keylogger aktif di sistem Anda, lihat:
Metode-metode ini mungkin bukan solusi terbaik, tapi saya harap memberi Anda gambaran tentang apa yang dapat Anda lakukan ...