Estou usando o RPI para criar um programa, mas preciso desativar as portas USB para que o usuário final não possa conectar um teclado ou mouse e mexer no dispositivo.
Isso é possível? Em caso afirmativo, como é feito?
Estou usando o RPI para criar um programa, mas preciso desativar as portas USB para que o usuário final não possa conectar um teclado ou mouse e mexer no dispositivo.
Isso é possível? Em caso afirmativo, como é feito?
Respostas:
Você pode encontrar sorte com este comando:
eco 0x0> / sys / devices / platform / bcm2708_usb / buspower
Isso parece desativar as portas USB. Eu não testei embora.
Cada controlador host USB no Linux expõe uma configuração chamada authorized_default
, que controla o estado de qualquer novo dispositivo conectado. Definir como 0 torna todos os novos dispositivos desativados por padrão:
for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done
Uma maneira recomendada de executar este script consiste em usar udev
regras. Dessa forma, você tem certeza de que o script é executado no momento certo, quando o driver do controlador host já está carregado, mas nenhum dos dispositivos ainda foi autorizado. Veja esta pergunta para um exemplo dessa abordagem.
Uma coisa que você deve entender é que os bloqueios de software são eficazes apenas desde que o usuário final não possa desconectar o cartão SD e remover as proteções que você colocou no lugar.
Realmente não sei se é diretamente possível ... Por que não bloquear fisicamente a capacidade dos usuários de fazer isso? Colocando-o onde eles não podem chegar, preenchendo as portas ou colocando um mecanismo de travamento sobre / em torno dele.
sudo sh -c "echo 0 > /sys/devices/platform/soc/3f980000.usb/buspower"
Desabilitará as portas USB, mas também a porta LAN.
sudo sh -c "echo 1 > /sys/devices/platform/soc/3f980000.usb/buspower"
Reativa-os.