我正在摆弄我的树莓派,目前我正在尝试更改执行 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 权限。