sysfs 文件的权限被拒绝

sysfs 文件的权限被拒绝

我正在摆弄我的树莓派,目前我正在尝试更改执行 shell 脚本及其参数的板上 LED 之一的颜色:

pi@raspberrypi:~/morpheus/scripts $ bash ./set-rgb-led.sh level 50 50 50

输入上述命令时,我收到以下信息:

./set-rgb-led.sh: line 19: /sys/class/leds/morpheus:level:red/brightness: Permission denied
./set-rgb-led.sh: line 19: /sys/class/leds/morpheus:level:green/brightness: Permission denied
./set-rgb-led.sh: line 19: /sys/class/leds/morpheus:level:blue/brightness: Permission denied

要检查我运行的权限getfacl set-rgb-led.sh,它告诉我以下信息:

# file: set-rgb-led.sh
# owner: pi
# group: pi
user::rwx
group::--x
other::--x

我尝试过使用该chmod +x命令和类似的权限更改命令,但我似乎无法获得正确的访问权限。我缺少什么才能获得文件的控制权?

答案1

您的脚本本身没有问题,但它尝试访问的文件没有问题:位于 /sys 目录下的所有文件和目录都属于 root(命令未显示getfacl)。

您可以做的是以 root 身份运行脚本,或者更改您尝试访问的文件的权限(但根本不建议这样做)。

答案2

命令:

setfacl -m u:root:rwx /path/to/file/set-rgb-led.sh 

应该可以解决问题。它将使用 ACL 设置 root 的 rwx 权限。

相关内容