Como detectar se o dispositivo USB é inicializável no udev?

6

Estou tentando gravar uma regra do udev para não montar dispositivos USB conectados ao meu sistema se eles forem inicializáveis, mas não sei como especificar no udev se um dispositivo é inicializável em uma regra. Isso é possível? Se sim, o que precisa entrar na minha regra?

Para ser claro, por inicializável, quero dizer que o dispositivo tem um sistema operacional que eu posso inicializar na inicialização.

    
por bomberblue 01.05.2015 / 19:02

1 resposta

2

udev adiciona algumas variáveis de ambiente ao nó da partição (nó folha), incluindo sinalizadores de entrada de partição para a tabela MBR. A partição inicializável deve ter ID_PART_ENTRY_FLAGS=0x80 .

Experimente esta regra e verá todas as variáveis de ambiente ( fonte: Passar ATTR {idVendor} como argumento no script do udev ):

KERNEL="sd[a-z][1-9]", RUN+="/bin/sh -c 'echo == >> /home/username/Desktop/usb-storage.txt; env >> /home/username/Desktop/usb-storage.txt'"

Uma regra que funciona para mim no Ubuntu 14.04:

ACTION=="add", KERNEL=="sd[a-z][1-9]", ENV{ID_PART_ENTRY_FLAGS}=="0x80", RUN+="/bin/sh -c 'echo 0 > /sys%p/../../../../../../../authorized'"
    
por 26.05.2015 / 21:38

Tags