udev para el archivo /sys no funciona

udev para el archivo /sys no funciona

Estoy intentando establecer un atributo de grupo para

root@luna:~# ls -l /sys/class/backlight/intel_backlight/brightness 
-rw-r--r-- 1 root root 4096 Sep 24 08:28 /sys/class/backlight/intel_backlight/brightness

Creé una regla en /etc/udev/rules.d/99-local.rules:

root@luna:/etc/udev/rules.d# cat 99-local.rules 
KERNEL=="intel_backlight", SUBSYSTEM=="backlight", GROUP="neil", mode="0664"

Ya sea que systemctl reinicie udev, udevadm control -R o reinicie, la regla no se aplica. ¿Qué he hecho mal?

Respuesta1

Udev crea entradas de archivos de dispositivo en /dev. Las reglas de Udev afectan esas entradas. Los archivos siguientes /sysson interfaces directas del kernel, creadas por el kernel y no afectadas por udev.

Si desea cambiar la propiedad o los permisos de un archivo en /sys, hágalo explícitamente.

#!/bin/sh
chown neil /sys/class/backlight/intel_backlight/brightness
chmod 664 /sys/class/backlight/intel_backlight/brightness

Si el dispositivo de visualización activa un evento udev, puede ejecutar este script con una RUN=…acción. Alternativamente, ejecute este script en algún lugar del proceso de arranque, por ejemplo, en /etc/rc.local.

Respuesta2

Me acabo de encontrar con esta pregunta. La forma correcta de cambiar el permiso y la propiedad de los archivos en /sys es mediante las configuraciones de tmpfiles. Por ejemplo, colocar lo siguiente /etc/tmpfiles.d/screen-backlight.conflograría lo que desea:

m /sys/class/backlight/intel_backlight/brightness 0664 root some_group_that_neil_belongs_to - -

Consulte man 5 tmpfiles.dtodas las opciones.

información relacionada