udev para arquivo /sys não funciona

udev para arquivo /sys não funciona

Estou tentando definir o 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

Criei uma regra em /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"

Se eu systemctl reiniciar o udev, udevadm control -R ou reinicializar, a regra não será aplicada. O que eu fiz errado?

Responder1

O Udev cria entradas de arquivo de dispositivo em /dev. As regras do Udev afetam essas entradas. Os arquivos abaixo /syssão interfaces diretas do kernel, criadas pelo kernel e não afetadas pelo udev.

Se você quiser alterar a propriedade ou as permissões de um arquivo em /sys, faça isso explicitamente.

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

Se o dispositivo de exibição disparar um evento udev, você poderá executar este script com uma RUN=…ação. Alternativamente, execute este script em algum lugar do processo de inicialização, por exemplo, em /etc/rc.local.

Responder2

Acabei de me deparar com esta pergunta. A maneira correta de alterar a permissão e propriedade de arquivos em/sys é usando configurações tmpfiles. Por exemplo, colocar o seguinte /etc/tmpfiles.d/screen-backlight.confalcançaria o que você deseja:

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

Veja man 5 tmpfiles.dtodas as opções.

informação relacionada