
그러나 다음과 같은 경우 현재 디렉터리에 스크립트가 있습니다.
- 허가는
-rwxr-xr-x
- 스크립트의
#!/bin/bash
파일 상단에 shebang이 있습니다. - 내 껍질은
/bin/bash
- 나는 그것을 사용하여 실행할 수 있습니다
bash script.sh
를 사용하여 실행할 수 없습니다 ./script.sh
. 그것은 나에게 다음을 제공합니다:
bash: ./script.sh: 권한이 거부되었습니다.
왜 이런 일이 발생하며 해결책은 무엇입니까?
답변1
파일이 "noexec" 옵션으로 마운트된 파일 시스템에 있으므로 실행이 허용되지 않습니다.
findmnt -u -T .
그러한 경우인지 알아보는 데 사용하십시오 . 루트 권한이 있는 경우mount -o remount,exec <dir>
이 옵션을 제거해야 합니다.실행은 다음에 의해 허용되지 않습니다.맥정책(SELinux, SMACK, 아마도 AppArmor).
journalctl -n 100
및 로 시작하는 시스템 로그를 확인하세요dmesg
. 이를 우회하는 방법(관리자인 경우)은 실제로 사용 중인 MAC 시스템에 따라 다릅니다.
답변2
글쎄요, 찾았어요: "log2ram"이에요
앞서 말했듯이 저는 Raspberry 4에서 Raspbian을 사용하고 있으며 SD 수명을 늘리기 위해 RAM에 로그를 배치했는데 이렇게 되었습니다.
===
pi@R4:~/logs $ cat /etc/log2ram.conf
[...]
PATH_DISK="/var/log;/home/pi/logs"
===