Dar acceso a la aplicación / usuario al dispositivo USB

3

Tengo una aplicación Mono que se ejecuta en Raspbian que utiliza un determinado dispositivo USB a través de libusb. Si inicio la aplicación normalmente no se abre el dispositivo. Si inicio la aplicación como root (o mediante sudo), la aplicación abre el dispositivo correctamente.

¿Cómo puedo otorgar a la aplicación o al usuario los permisos adecuados para el dispositivo USB para que la aplicación no tenga que iniciarse como root?

GTHvidsten
fuente

Respuestas:

1

Para otorgar a un grupo específico acceso a un dispositivo USB, debe agregar una regla a udev en /etc/udev/rules.d/. Agregué un archivo llamado 50-MyDevice.rules que contiene esta línea:

SUBSYSTEM=="usb",ATTRS{idVendor}=="abcd",ATTRS{idProduct}=="1234",MODE="0660",GROUP="mygroup",SYMLINK+="mydevice%n"

Donde he sustituido los valores despues idVendor y idProduct con el VID y PID del dispositivo USB. ¡Preste especial atención al número de signos iguales después de cada parámetro!

Después de esto reinicié Linux.

Ahora, cada vez que conecto el dispositivo USB (o si conecto varios del mismo dispositivo) obtengo un enlace simbólico llamado /dev/mydevice1 o /dev/mydevice2. Este es un enlace simbólico que apunta a /dev/bus/usb/001/001 (o en el segundo caso /dev/bus/usb/001/002 ). Los objetivos de estos enlaces simbólicos tienen el modo apropiado y los permisos de grupo definidos en el archivo de reglas.

GTHvidsten
fuente