Intereting Posts
Что происходит, когда я нажимаю «Завершить работу» из графического интерфейса? Почему «lspci -xxx» опасен? Перенос всей Linux-системы на новый диск configure.ac: не использовать gettext Не удалось установить пакет php-posix на CentOS 5.6 Как запустить xfce-терминал с разными командами на вкладку и продолжать использовать вкладки после возвращения команд? Увеличить расстояние между значками в области уведомлений xfce Как использовать расширения Gnome Как установить программное обеспечение для нескольких клиентов linux Считать частоту конкретных чисел в текстовом файле научных обозначений Инструменты для анализа автоматически генерируемых HTTP-индексов? Как считать рекурсивно количество файлов в нескольких каталогах? команда оболочки cd! $ numlock при запуске на linux mint 18.2 Как передать каждую строку текстового файла в качестве аргумента в команду?

Как проверить, установлен ли раздел как «noexec»?

В настоящее время я использую grep '\s/location/\s.*noexec' /proc/mounts .
(Это правильный способ проверить это?)

Вы должны использовать команду mount (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) 

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

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

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

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