Как насчет tickr?
Он находится в репозиториях и помещает прокручиваемый тикер новостей на вашем рабочем столе.
Это невозможно, так как любые нажатия клавиш, передаваемые X-серверу, будут доступны для xinput / любой произвольной программы. (На самом деле, это часть дизайна). Новые серверы отображения, такие как Wayland и Mir, устраняют такие проблемы безопасности в X. Единственное реальное решение - использовать Wayland или Mir вместо X. Этот блог опубликовал эту проблему.
Не совсем. Даже если вы каким-то образом сумеете захватить клавиатуру внутри X (я не знаю, возможно ли это, возможно, это так), утилита keylogger, работающая под управлением root, всегда будет иметь доступ к клавиатуре.
Как сказано в других разделах, невозможно защитить только одну из таких программ, как gnome-terminal или другой терминал, от регистрации ключей, только если вы ограничиваете обычных пользователей исполнением любого регистратора ключей или остановите / приостановите любой процесс регистрации ключа. [ ! d0]
Далее я покажу вам, как вы можете сделать это в случае команды xinput, но те же методы могут использоваться для любого другого регистратора ключей. Если ключевой регистратор использует команду xinput, нет необходимости применять метод на нем до тех пор, пока вы применяете его к xinput.
Вы можете запретить стандартным пользователям использовать команду xinput, используя следующую команду:
sudo chmod go-x /usr/bin/xinput
Вы можете ограничить стандартных пользователей использовать команду xinput , написав обертку для этой команды. Для этого зайдите в терминал и следуйте инструкциям ниже:
Получить привилегии root:sudo -i
Перенести файл xinput в другой каталог, который не находится в PATH любого пользователя (например, /opt): mv /usr/bin/xinput /new/path/to/xinput
Создайте свою обертку для команды 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
Сохраните файл и закройте его. Создайте новую исполняемую оболочку: chmod +x /usr/bin/xinput
В то время как первый метод является безопасным, используя второй метод, пользователь может все же обойти его, вызвав оригинал xinput напрямую, если он знает свое новое местоположение. [!d19 ]
Вы можете остановить или приостановить любой процесс xinput до ввода пароля или чего-либо еще, что вы не хотите регистрировать. Для этого добавьте следующую функцию bash в конец вашего файла ~/.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
}
Теперь, когда вы снова открываете терминал, в любое время, используя эту функцию, вы можете: [!d22 ] Получить привилегии root: Получить привилегии root: sudo -i
Перенести файл xinput в другой каталог, который не находится в PATH любого пользователя (например, /opt): processof xinput pause
mv /usr/bin/xinput /new/path/to/xinput
приостановить все xinput процессы:
processof [process_name] [stop|pause|continue]
На самом деле, с помощью этой функции вы можете остановить / приостановить любой процесс, который вы хотите, прежде чем что-либо сделать (например, ввести пароль):
Получить привилегии root:
processof xinput pause
Если вы не знаете, как определить, как обнаружить активный кейлоггер в вашей системе, см.: