Respuestas:
Debe usar el comando mount (8), que está disponible de fábrica en todos los sistemas Linux y UNIX.
Si se ejecuta mount
sin ningún argumento adicional, aparecerá una lista de todos montados el momento particiones en su sistema, el tipo de sistema de archivos y cualquier opciones de montaje, como por ejemplo noexec
, rw
o nosuid
.
P.ej:
% 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
con preferencia a mount
. Si /etc/mtab
no se actualiza (p. Ej., Porque /
es de solo lectura), la salida de mount
puede no estar actualizada. Además, para algunas opciones (no noexec
), mount
le ofrece una salida filtrada que puede ser engañosa para algunas combinaciones de versiones del núcleo y el montaje (por ejemplo, con las opciones relacionadas con atime).
Suponiendo que esté ejecutando esto en Linux, sí, está bien. Sería un poco más robusto comprobar que noexec
está entre comas o al principio o al final de su columna.
grep -Eq '^[^ ]+ /location [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts
Esto podría ser más claro en awk:
awk -v location="/location" '$2 == location {exit(!($4 ~ /(^|,)noexec($|,)/))} END {exit(2)}'