Filesystems

如何在/sys/permanent 中設置權限?

  • June 16, 2020

我以使用者身份啟動 X,需要將我的鍵盤亮度設置為/sys/class/leds/asus\:\:kbd_backlight/brightness. /sys/重新啟動後會重新創建目錄,因此權限也會重置。如何設置它,這樣我就不需要在每次啟動後讓所有使用者都可以寫入文件?

我使用 Archlinux,SDDM 作為登錄管理器,KDE 作為 DE。

不,你不能,sysfs 的權限是在核心空間中定義的,不能用使用者空間工具更改(除非有核心端支持)。

但是對於您自己的問題,您可以設置一個允許每個人都寫入該路徑的 sudo 條目,即ALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/class/leds/asus\:\:kbd_backlight/brightness

當您寫入該目錄時,請使用這樣的腳本,echo 1 | sudo /usr/bin/tee "/sys/class/leds/asus::kbd_backlight/brightness"

我有一個類似的問題,我需要在執行 nodered 服務之前設置權限。根據 goldilocks 的評論,我創建了這個 systemd 腳本:

$ cat /etc/systemd/system/setledspermissions.service

[Unit]
Description=Set leds writable to everybody
Before=nodered.service

[Service]
Type=oneshot
User=root
ExecStart=/bin/bash -c "/bin/chmod a+w /sys/class/leds/led0/*"

[Install]
WantedBy=multi-user.target

編寫服務文件後,我啟用了它

$ sudo systemctl enable setledspermissions.service
$ sudo systemctl start setledspermissions.service
$ sudo systemctl status setledspermissions.service

引用自:https://unix.stackexchange.com/questions/68897