Как проверить, смонтирован ли раздел как 'noexec'?

Я всегда устанавливал OpenBSD через PXE, и я думаю, что их документы о вопросе являются большими.

http://www.openbsd.org/faq/faq6.html#PXE

Это - тот же процесс как с FreeBSD, но Вы могли бы найти документацию OpenBSD более четкой и легче следовать. Установщик OpenBSD позволяет Вам установить базовые пакеты от удаленного http или ftp также, таким образом, Вы свободны разместить свои собственные файлы установки локально. Если Вы не посвящаете себя FreeBSD в этой точке, можно хотеть просто испытать OpenBSD сначала.

13
17.09.2013, 17:53
2 ответа

Необходимо использовать монтирование (8) команда, которая доступна из поля на всем Linux и системах UNIX.

Если Вы работаете 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)
12
27.01.2020, 19:53
  • 1
    На Linux, я рекомендую использовать /proc/mounts в предпочтении к mount. Если /etc/mtab не обновляется (например, потому что / только для чтения), вывод mount может не быть актуальным. Кроме того, для некоторых опций (нет noexec), mount дает Вам фильтрованный вывод, который может вводить в заблуждение для некоторых комбинаций версий ядра и монтироваться (например, с atime-связанными опциями). –  Gilles 'SO- stop being evil' 18.09.2013, 01:34

Предположение, что Вы выполняете это на Linux, да, это прекрасно. Это было бы немного более устойчиво для проверки этого noexec между запятыми или вначале или конец его столбца.

grep -Eq '^[^ ]+ /location [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts

Это могло бы быть более ясно в awk:

awk -v location="/location" '$2 == location {exit(!($4 ~ /(^|,)noexec($|,)/))} END {exit(2)}'
4
27.01.2020, 19:53

Теги

Похожие вопросы