Как заставить драйвер ATI работать? [Дубликат]

Как сказано в других разделах, невозможно защитить только одну из таких программ, как gnome-terminal или другой терминал, от регистрации ключей, только если вы ограничиваете обычных пользователей исполнением любого регистратора ключей или остановите / приостановите любой процесс регистрации ключа. [ ! d0]

Далее я покажу вам, как вы можете сделать это в случае команды xinput, но те же методы могут использоваться для любого другого регистратора ключей. Если ключевой регистратор использует команду xinput, нет необходимости применять метод на нем до тех пор, пока вы применяете его к xinput.

1. Ограничить использование стандартными пользователями команды xinput

Вы можете запретить стандартным пользователям использовать команду xinput, используя следующую команду:

sudo chmod go-x /usr/bin/xinput

2. Ограничьте стандартных пользователей для использования команды xinput с test-xi2 аргументом

Вы можете ограничить стандартных пользователей использовать команду 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 ]

3. Остановить / приостановить любой процесс xinput

Вы можете остановить или приостановить любой процесс 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:

sudo -i

Получить привилегии root:

processof xinput pause
Перенести файл xinput в другой каталог, который не находится в PATH любого пользователя (например, /opt):
mv /usr/bin/xinput /new/path/to/xinput

приостановить все xinput процессы:

processof [process_name] [stop|pause|continue]

На самом деле, с помощью этой функции вы можете остановить / приостановить любой процесс, который вы хотите, прежде чем что-либо сделать (например, ввести пароль):

Получить привилегии root:

processof xinput pause

Если вы не знаете, как определить, как обнаружить активный кейлоггер в вашей системе, см.:

1
задан 13 April 2017 в 15:23

0 ответов

Другие вопросы по тегам:

Похожие вопросы: