
я прочелздесьчто любое приложение, использующее X-сервер, может перехватывать нажатия клавиш любого другого приложения, также использующего X-сервер, включая su
(на терминале) илиgksu
. Я слышал о нескольких способах сделать X-сервер безопасным, напримерКсефир, но я не уверен, какой из них использовать. Я просто хочу, чтобы любое приложение, например, xinput
не могло легко перехватывать нажатия клавиш, когда я набираю пароль в терминале или gksu
. В настоящее время я использую Debian sid.
решение1
Обратите внимание, что Xephyr/Xnest/vnc-server заставит приложение взаимодействовать с другим X-сервером, но не запретит ему взаимодействовать с другим X-сервером, на котором запущен gksu.
Лучше всего запустить его на другом X-сервере.икак другой пользователь (или используйте LSM, чтобы запретить приложению подключаться к X-серверу или читать ваш файл .Xauthority). Чтобы сделать еще один шаг вперед, вы можете запустить его в chroot-окружении, а чтобы сделать еще один шаг вперед, вы можете запустить его в контейнере, а чтобы сделать еще один шаг вперед, запустить его в полностью контролируемой виртуальной машине (например, с помощью kvm -snapshot).
Если вы не доверяете приложению, вам, вероятно, придется пройти весь путь.
решение2
Я считаю, но не знаю, как доказать, что любое приложение X11, которое не позволяет вам вводить данные где-либо еще (например, запрашивает пароль), невозможно перехватить.
Попробуйте это: запустите gksu
, и когда откроется запрос пароля, попробуйте отрегулировать громкость с помощью клавиш (если они есть на вашем компьютере) или нажмите другие горячие клавиши (super, power и т. д.) и посмотрите, сделают ли они что-нибудь. Если нет, я думаю, вы в безопасности.
Я думаю, что ctrl-alt-f1 и т. д. всегда работают.