udev für /sys-Datei funktioniert nicht

udev für /sys-Datei funktioniert nicht

Ich versuche, Gruppenattribute festzulegen für

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

Ich habe eine Regel in /etc/udev/rules.d/99-local.rules erstellt:

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

Egal, ob ich systemctl restart udev, udevadm control -R oder reboot verwende, die Regel wird nicht angewendet. Was habe ich falsch gemacht?

Antwort1

Udev erstellt Gerätedateieinträge unter /dev. Udev-Regeln wirken sich auf diese Einträge aus. Dateien unter /syssind direkte Kernelschnittstellen, die vom Kernel erstellt und von Udev nicht beeinflusst werden.

Wenn Sie den Besitz oder die Berechtigungen für eine Datei unter ändern möchten /sys, tun Sie dies explizit.

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

Wenn das Anzeigegerät ein Udev-Ereignis auslöst, können Sie dieses Skript mit einer RUN=…Aktion ausführen. Alternativ können Sie dieses Skript auch irgendwo im Bootvorgang ausführen, z. B. in /etc/rc.local.

Antwort2

Ich bin gerade auf diese Frage gestoßen. Die richtige Möglichkeit, die Berechtigungen und den Besitz von Dateien unter /sys zu ändern, besteht in der Verwendung von tmpfiles-Konfigurationen. Wenn Sie beispielsweise Folgendes eingeben, /etc/tmpfiles.d/screen-backlight.conferreichen Sie das gewünschte Ergebnis:

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

Sehen Sie sich man 5 tmpfiles.dalle Optionen an.

verwandte Informationen