Fedora Linux Logo

Отключение SELinux в Fedora

SELinux (Security Enhanced Linux) – это модуль безопасности ядра Linux, который предоставляет механизм принудительного контроля доступа. Он позволяет администраторам определять детальные правила, которые регулируют взаимодействие процессов, пользователей и файлов в системе.

Правила политики SELinux определяют, разрешен ли определенный доступ (например, чтение файла процессом). Если явного правила, разрешающего доступ, не существует, SELinux его запрещает.

SELinux может работать в одном из трех режимов:

    • Enforcing (Принудительный): SELinux активно применяет (принуждает) правила политики безопасности и запрещает действия, которые им не соответствуют. Нарушения регистрируются. Это режим по умолчанию и наиболее безопасный.
    • Permissive (Разрешающий): SELinux не запрещает действия, не соответствующие политике, но регистрирует их как нарушения. Этот режим полезен для отладки и тестирования политики SELinux без нарушения работы системы.
    • Disabled (Отключен): Политика SELinux не загружается, и механизм безопасности полностью отключен.

По умолчанию в Fedora SELinux включен и находится в режиме принуждения (Enforcing).

Важное замечание: Рекомендуется сохранять SELinux в режиме Enforcing, так как он значительно повышает безопасность системы. Полное отключение SELinux должно рассматриваться только в крайних случаях, когда другие методы (например, настройка политики или использование Permissive режима для отладки) не применимы. Отключение SELinux снижает защищенность вашей системы от различных угроз.

Проверьте состояние SELinux
Чтобы просмотреть текущее состояние SELinux и используемую политику в вашей системе, вы можете использовать команды sestatus или getenforce.

Команда sestatus предоставляет более детальную информацию:

sestatus

Пример вывода:

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      33

Из этого вывода видно, что SELinux включен (enabled) и находится в режиме принуждения (Current mode: enforcing).

Команда getenforce просто выводит текущий режим:

getenforce

Пример вывода:

Enforcing

Временно изменить режим SELinux

Вы можете временно переключить SELinux из режима Enforcing в режим Permissive без перезагрузки. Это часто используется для проверки, вызывает ли проблема SELinux.

Для переключения в режим Permissive выполните команду:

sudo setenforce 0

Или по названию режима:

sudo setenforce Permissive

Для переключения обратно в режим Enforcing выполните:

sudo setenforce 1

Или по названию режима:

sudo setenforce Enforcing

Важно: Изменения, сделанные с помощью setenforce, действуют только до следующей перезагрузки системы. После перезагрузки SELinux вернется в режим, указанный в конфигурационном файле.

Постоянно изменить режим или отключить SELinux

Постоянное изменение режима SELinux (на Permissive) или полное отключение (Disabled) требует редактирования конфигурационного файла и последующей перезагрузки.

Откройте файл /etc/selinux/config в текстовом редакторе с правами суперпользователя:

sudo nano /etc/selinux/config

Найдите строку, начинающуюся с SELINUX=

    • Чтобы установить режим Permissive по умолчанию после загрузки, измените строку на: SELINUX=permissive
    • Чтобы полностью отключить SELinux (НЕ РЕКОМЕНДУЕТСЯ для постоянного использования), измените строку на: SELINUX=disabled

Сохраните изменения в файле.

ВНИМАНИЕ (для постоянного отключения в современных версиях Fedora):

В версиях Fedora начиная примерно с 34, простой установки SELINUX=disabled в /etc/selinux/config может быть недостаточно для полного отключения SELinux на самом раннем этапе загрузки ядра, или это может вызвать проблемы. Рекомендуемый способ полностью отключить SELinux в современных Fedora - это добавить параметр ядра selinux=0 при загрузке.

Для этого используйте команду grubby (требуются права root):

sudo grubby --update-kernel ALL --args selinux=0

Эта команда добавит аргумент selinux=0 ко всем записям ядра в конфигурации загрузчика GRUB, гарантируя, что SELinux будет отключен с самого начала загрузки.

После внесения изменений в /etc/selinux/config (для Permissive) или добавления параметра ядра selinux=0 (для полного отключения), необходимо перезагрузить систему, чтобы изменения вступили в силу:

sudo systemctl reboot

После загрузки системы снова проверьте статус SELinux с помощью команды sestatus или getenforce, чтобы убедиться, что изменения применены.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *