현재 를 사용하고 있습니다 grep '\s/location/\s.*noexec' /proc/mounts
.
(이것을 확인하는 방법이 맞나요?)
답변1
모든 Linux 및 UNIX 시스템에서 사용할 수 있는 mount(8) 명령을 사용해야 합니다.
다른 인수 없이 실행 하면 mount
현재 시스템에 마운트된 모든 파티션, 파일 시스템 유형 및 마운트 옵션(예 noexec
: rw
또는 ) 이 나열됩니다 nosuid
.
예를 들어:
% mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot type ext4 (rw,relatime,data=ordered)
/dev/mapper/basement-root on / type ext4 (rw,relatime,data=ordered)
답변2
Linux에서 실행한다고 가정하면 문제가 되지 않습니다. noexec
쉼표 사이나 열의 시작이나 끝 부분을 확인하는 것이 더 안정적입니다.
grep -Eq '^[^ ]+ /location [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts
이것은 awk에서 더 명확할 수 있습니다.
awk -v location="/location" '$2 == location {exit(!($4 ~ /(^|,)noexec($|,)/))} END {exit(2)}'