저는 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 권한을 설정합니다.