como desativar o usb com base no id do fornecedor no ambiente linux?

3

Eu quero desativar o usb com base no id do fornecedor no ambiente linux. Eu quero permitir somente usbs específicos baseados apenas no ID do fornecedor.

    
por subbarao 31.01.2013 / 07:36

1 resposta

1

Isso deve ser possível usando as regras udev , mas provavelmente não é fácil e exigirá alguma experimentação. É possível acidentalmente fazer coisas ruins, como bloquear o mouse e o teclado, de trabalhar e exigir restauração com um pendrive ao vivo. Eu não testei esses comandos, ignore o emptor.

Crie um novo arquivo com um número de baixa prioridade, por exemplo, /lib/udev/rules.d/20-block-usb.rules com o conteúdo:

BUS=="usb", PROGRAM="/bin/filter_usb.sh %s{idVendor} %s{idProduct}", RESULT!="allow", OPTIONS+="ignore_device"

Quando um dispositivo USB é inserido, /bin/filter_usb.sh deve ser chamado com os IDs vendor e product do dispositivo como argumentos e, a menos que ocorra allow , o dispositivo deve ser ignorado, por exemplo:

#!/bin/sh
vendor=$1
product=$2

if [ "$vendor" = "0123" ]; then
    if [ "$product" = "4567" ]; then
        echo allow
    fi
fi

Provavelmente você vai querer analisar udevtest para experimentar regras e, conforme observado, é necessário certificar-se de que seu mouse, teclado, etc. estejam na lista de permissões. Você pode querer restringir a regra de bloqueio apenas a dispositivos de bloqueio USB adicionando SUBSYSTEM=="block", antes de PROGRAM na regra original.

    
por chronitis 31.01.2013 / 10:05

Tags