sysfs 파일에 대한 권한이 거부되었습니다.

sysfs 파일에 대한 권한이 거부되었습니다.

저는 Raspberry Pi를 가지고 놀면서 현재 쉘 스크립트와 해당 인수를 실행하는 온보드 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).

당신이 할 수 있는 일은 스크립트를 루트로 실행하거나 액세스하려는 파일에 대한 권한을 변경하는 것입니다(그러나 이것은 전혀 권장되지 않습니다).

답변2

주문하다:

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

그러면 문제가 해결될 것입니다. ACL을 사용하여 루트에 대한 rwx 권한을 설정합니다.

관련 정보