Jawaban:
Anda harus menggunakan perintah mount (8), yang tersedia di luar kotak pada semua sistem Linux dan UNIX.
Jika Anda menjalankan mount
tanpa argumen tambahan, itu akan menampilkan semua saat ini dipasang partisi pada sistem Anda, jenis file sistem dan setiap opsi mount, seperti noexec
, rw
, atau nosuid
.
Misalnya:
% 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)
/proc/mounts
preferensi mount
. Jika /etc/mtab
tidak diperbarui (misalnya karena /
hanya baca), output dari mount
mungkin tidak up-to-date. Juga, untuk beberapa opsi (bukan noexec
), mount
memberi Anda output yang difilter yang dapat menyesatkan untuk beberapa kombinasi versi kernel dan mount (mis. Dengan opsi terkait atime).
Dengan asumsi Anda menjalankan ini di Linux, ya, ini baik-baik saja. Akan sedikit lebih kuat untuk memeriksa bahwa noexec
ada di antara koma atau di awal atau akhir kolomnya.
grep -Eq '^[^ ]+ /location [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts
Ini mungkin lebih jelas dalam awk:
awk -v location="/location" '$2 == location {exit(!($4 ~ /(^|,)noexec($|,)/))} END {exit(2)}'