ดังที่คนอื่น ๆ กล่าวไว้ที่นี่เป็นไปไม่ได้ที่จะป้องกันโปรแกรมเช่น gnome-terminal หรือเทอร์มินัลอื่น ๆ จากการบันทึกคีย์เท่านั้นหากคุณ จำกัด ผู้ใช้มาตรฐานให้รันตัวบันทึกคีย์ใด ๆ หรือถ้าคุณหยุด / หยุดกระบวนการล็อกคีย์
ต่อไปฉันจะแสดงให้คุณเห็นว่าคุณสามารถทำสิ่งเหล่านี้ได้อย่างไรในกรณีที่มีxinput
คำสั่ง แต่สามารถใช้วิธีการเดียวกันกับตัวบันทึกคีย์อื่น ๆ ได้ ถ้าใช้ตัดไม้ที่สำคัญคำสั่งก็ไม่จำเป็นต้องใช้วิธีการที่อยู่กับมันนานเท่าที่คุณใช้มันเมื่อxinput
xinput
1. จำกัด ผู้ใช้มาตรฐานให้ใช้xinput
คำสั่ง
คุณสามารถจำกัด ผู้ใช้มาตรฐานให้ใช้xinput
คำสั่งโดยใช้คำสั่งต่อไปนี้:
sudo chmod go-x /usr/bin/xinput
2. จำกัด ผู้ใช้มาตรฐานที่จะใช้xinput
คำสั่งด้วยtest-xi2
อาร์กิวเมนต์
คุณสามารถจำกัด ผู้ใช้มาตรฐานให้ใช้xinput
คำสั่งด้วยการtest-xi2
โต้แย้งโดยเขียน wrapper สำหรับคำสั่งนี้ หากต้องการทำสิ่งนี้ให้ไปที่เทอร์มินัลแล้วทำตามคำแนะนำด้านล่าง:
รับสิทธิ์รูท:
sudo -i
ย้ายxinput
ไฟล์ในไดเร็กทอรีอื่นซึ่งไม่ได้อยู่ใน PATH ของผู้ใช้ (ตัวอย่าง/opt
):
mv /usr/bin/xinput /new/path/to/xinput
สร้าง wrapper ของคุณสำหรับxinput
คำสั่งใน/usr/bin
:
gedit /usr/bin/xinput
เพิ่มสคริปต์ต่อไปนี้ภายใน:
#!/bin/bash
if [ "$@" != "${@/test-xi2/}" -a "$(whoami)" != "root" ]; then
echo "`basename $0` $@: Permission denied"
else
/new/path/to/xinput $@
fi
บันทึกไฟล์และปิด
กำหนดให้ wrapper ใหม่ทำงานได้:
chmod +x /usr/bin/xinput
ในขณะที่วิธีแรกคือความปลอดภัยโดยใช้วิธีที่สองผู้ใช้อาจยังคงหลบเลี่ยงมันได้โดยโทรหาต้นฉบับxinput
โดยตรงหากเขารู้ตำแหน่งใหม่
3. หยุด / หยุดxinput
กระบวนการใด ๆ
คุณสามารถหยุดหรือหยุดxinput
กระบวนการใด ๆก่อนที่จะป้อนรหัสผ่านหรือสิ่งอื่นที่คุณไม่ต้องการเข้าสู่ระบบ หากต้องการทำสิ่งนี้ให้เพิ่มฟังก์ชั่นทุบตีต่อไปนี้ที่ท้าย~/.bashrc
ไฟล์ของคุณ:
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
}
ตอนนี้หลังจากที่คุณเปิดเทอร์มินัลใหม่ทุกเวลาที่คุณต้องการโดยใช้ฟังก์ชั่นนี้คุณสามารถ:
หยุด / ฆ่าxinput
กระบวนการทั้งหมด:
processof xinput stop
หยุดxinput
กระบวนการทั้งหมดชั่วคราว:
processof xinput pause
กลับสู่xinput
กระบวนการทั้งหมด:
processof xinput continue
อันที่จริงแล้วด้วยฟังก์ชั่นนี้คุณสามารถหยุด / หยุดกระบวนการใด ๆ ที่คุณต้องการก่อนที่จะทำอะไรบางอย่าง (เช่นการป้อนรหัสผ่าน):
processof [process_name] [stop|pause|continue]
หากคุณไม่ทราบวิธีการตรวจหาวิธีการตรวจสอบ keylogger ที่ใช้งานอยู่ในระบบของคุณดู:
วิธีการเหล่านี้อาจไม่ใช่วิธีแก้ปัญหาที่ดีที่สุด แต่ฉันหวังว่าจะให้แนวคิดเกี่ยวกับสิ่งที่คุณสามารถทำได้ ...