Ich starte X als Benutzer und muss die Helligkeit meiner Tastatur einstellen /sys/class/leds/asus\:\:kbd_backlight/brightness
. Das /sys/
Verzeichnis wird nach dem Neustart neu erstellt, sodass auch die Berechtigungen zurückgesetzt werden. Wie richte ich es ein, damit die Datei nicht nach jedem Start für alle Benutzer beschreibbar ist?
Ich verwende Archlinux mit SDDM als Login-Manager und KDE als DE.
filesystems
permissions
users
xoned
quelle
quelle
Antworten:
Nein, Sie können nicht, die Berechtigung von sysfs wird im Kernel-Space definiert und kann nicht mit Userspace-Tools geändert werden (es sei denn, dies wird vom Kernel unterstützt).
Aber für Ihr eigenes Problem könnten Sie einen sudo-Eintrag einrichten, der es jedem erlaubt, auf diesen Pfad zu schreiben, d. H
ALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/class/leds/asus\:\:kbd_backlight/brightness
Und wenn Sie in dieses Verzeichnis schreiben, verwenden Sie ein Skript wie dieses,
echo 1 | sudo /usr/bin/tee "/sys/class/leds/asus::kbd_backlight/brightness"
quelle
/sys/devices/platform/sony-laptop/kbd_backlight
zu erstellen , um die Tastaturbeleuchtung zu steuern. Ich habe den Pfad in Ihrem Code geändert, der zu diesem Fehler führt:bash: syntax error near unexpected token
("Der Befehl, den ich eingegeben habe, lautetALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/devices/platform/sony-laptop/kbd_backlight
Please help/usr/bin/tee
und einfügte/sys/class...
. Nach einem kurzen Blick auf die Grammatik inman sudoers
vermute ich, dass das Komma notwendig ist.Das
/sys
Verzeichnis unter Linux ist gefälscht, es ist ein Blick in den Kernel, der als Dateien verkleidet ist. Es bedeutet also, die Berechtigungen permanent zu ändern, den Kernel zu hacken, und das wäre nicht ratsam. Wie aus den Kommentaren hervorgeht, ist dies möglicherweise einesystemd
Einstellung für eine Einheit (stellen Sie die Änderung im Allgemeinen als Teil des Startvorgangs ein).quelle
Ich hatte ein ähnliches Problem. Ich musste die Berechtigungen festlegen, bevor der Nodered-Dienst ausgeführt werden konnte. Nach dem Kommentar von goldilocks habe ich dieses systemd-Skript erstellt:
Nachdem ich die Servicedatei geschrieben habe, habe ich sie mit aktiviert
quelle