Tengo una báscula USB, una USB HID. Actualmente, cuando está enchufado, los permisos solo permiten que el superusuario acceda a él. ¿Cómo puedo configurar udev para permitir que cualquiera acceda a este dispositivo? Tengo los identificadores del proveedor y del producto, pero en cambio me gustaría hacer coincidirlos según el tipo de HID.
En este momento, estoy teniendo problemas para encontrar cualquier regla existente que se aplique a esto (estaba ansioso por "hidratar" /lib/udev/rules.d
y /etc/udev/rules.d
, entre otras cosas).
fuente
.rules
extensión. Un archivo con una.conf
extensión no funcionará.lsusb -vvv
para obtener el idProduct y idVendorlsusb
es un buen comienzo para ver lo que está conectado y las ID.idVendor
y lasidProduct
coincidencias parecen distinguir entre mayúsculas y minúsculas , por lo que la IDDA77
no funciona para mí, peroda77
sí. (Diagnóstico útil:udevadm info --attribute-walk /dev/bus/usb/008/023
bus 008 dispositivo 023 mi ejemplo;lsusb
para el suyo.) Después de agregar una regla,sudo udevadm control --reload-rules
y luegosudo udevadm trigger
evita reiniciar: los cambios son segundos después de eso. ATTR vs ATTRS no hicieron cuotas. Mi archivo .rules lee:SUBSYSTEM=="usb", ATTR{idVendor}=="da77", ATTR{idProduct}=="d12e", GROUP="users", MODE="0666"
.Solo para el resumen:
Puede filtrar por:
Y use:
== Comparar por igualdad.
! = Comparar por desigualdad.
= Asignar un valor a una clave. Las teclas que representan una lista se restablecen y solo se asigna este único valor.
+ = Agregar el valor a una clave que contiene una lista de entradas.
: = Asignar un valor a una clave finalmente; rechazar cualquier cambio posterior.
Puede dar a un dispositivo específico una nueva ruta específica en / dev / ...
Ejemplo:
Resultados en:
Puede acceder al dispositivo a través de '/ dev / hiddevx' o '/ dev / myhid' fácilmente, todos los usuarios del grupo 'cdrom' pueden leer desde el dispositivo. El propietario 'usuario28' puede leer y escribir.
o más simple:
Resultados en: Cada usuario puede acceder a todos los dispositivos ocultos del Proveedor 0x16c0
Para más detalles ver: Docs
fuente
:=
No es para comparaciones. Los documentos dicen "Asignar un valor a una clave finalmente; no permitir cambios posteriores".En caso de que necesite cambiar (como yo) los
ttyACM0
permisos, esta es mi configuración:Falló cuando intenté especificar el proveedor y la identificación del producto. No estoy seguro por qué.
fuente
Si es un dispositivo HIDRAW, debe
donde X es el número del dispositivo oculto, por ejemplo, hidraw0. tu puedes hacer
para ver una lista :) O simplemente
para configurar para todos los dispositivos de hidraw, probablemente no se recomienda.
fuente
Actualización / aclaración de Ubuntu 18.04:
La respuesta de Kees Cook es cercana pero requiere 2 cambios para funcionar en 18.04 (la versión actual y solo una en la que he probado esto).
Pero con sus valores hexadecimales idVendor e idProduct.
fuente
ATTRS
tanto para el vendedor como para la identificación del producto? Entonces, su código de muestra es incorrecto (tal como dice dos líneas más adelante).