Как отключить SELinux в RedHat/CentOS

SELinix (Security-Enhanced Linux)
– реализация дополнительной защиты в системе Linux, которая работает параллельно с классической системой контроля доступа.

Общие сведенья

Классическая система контроля доступа Linux предполагает ограничение доступа к ресурсам системы на основании прав доступа пользователя (классические Read-Write-eXecute права) на трех уровнях – owner-group-other (владелец-группа-остальные).

SELinux работает после классической системы контроля доступа на уровне системных вызовов ядра и позволяет контролировать доступ к ресурсам на уровне процессов, вне зависимости от владельца процесса.

В CentOS/RedHat 6/7 SELinux включена по умолчанию и порой может вызвать затруднения в настройке и обслуживании системы. Это связано с тем, что некоторые программы до сих пор не поддерживают механизм безопасности SELinux, а для некоторых необходимо выполнять дополнительные настройки политик безопасности SELinux.

Например, проблемы возникают в WEB приложениях, которые сохраняют и модифицируют файлы данных на сервере или работают с локальной базой данной (WordPress, Drupal, Symfony, Laravel и т.д.). Для таких приложений необходимо задавать дополнительные разрешения.

Для выявления проблем, связанных с политикой безопасности SELinux, иногда приходится отключать систему защиты. Это можно сделать двумя способами: на постоянной основе и временно.

После подтверждения проблемы рекомендуется создать или модифицировать политику безопасности SELinux и опять включить систему защиты.

Проверка состояния SELinux

Для проверки состояния расширенной системы безопасности необходимо воспользоваться командой:

Если система безопасности включена и работает в стандартном режиме, то вывод будет следующий (обратите внимание на параметры SELinux status и Current mode):

Если система безопасности временно отключена (Current mode: permissive):

И если SELinux выключена в системе:

Временное отключение SELinux

Для временного отключения SELinux необходимо выполнить одну из следующих команд от имени администратора:

Для включения SELinux:

или (зависит от версии OS)

или перегрузить систему.

Полное отключение SELinux

Для выключения SELinux на уровне ядра на постоянной основе необходимо изменить файл конфигурации SELinux:

заменив в нем SELINUX=enforcing на SELINUX=disabled

Для применения изменений и выключения SELinux, после внесения изменений в конфигурационный файл, необходимо выполнить перезагрузку сервера!