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 /sys
sind 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.conf
erreichen 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.d
alle Optionen an.