SELinux (Security-Enhanced Linux) — это слой безопасности в системах семейства RHEL, который строго контролирует, к каким ресурсам может обращаться каждый процесс. Он полезен, но иногда блокирует легитимное ПО и вызывает ошибки «permission denied», причину которых неочевидно. В этом руководстве показано, как проверить статус SELinux и отключить его — временно или постоянно — на CentOS, RHEL, AlmaLinux, Rocky Linux и Fedora.
Проверка текущего статуса SELinux
Сначала посмотрите, в каком режиме работает SELinux:
sestatus # или, чтобы узнать только текущий режим: getenforce
Вы увидите одно из трёх состояний: Enforcing (правила применяются), Permissive (правила только записываются в журнал, но не применяются) или Disabled (SELinux выключен).
Временное отключение SELinux (до перезагрузки)
Чтобы сразу перевести SELinux в режим permissive без перезагрузки:
sudo setenforce 0 # проверка: getenforce # должно вернуть: Permissive
Это рекомендуемый первый шаг при устранении неполадок — после перезагрузки режим снова станет enforcing, поэтому вы не сможете «заблокировать» себя навсегда. Чтобы вернуть режим enforcing, используйте sudo setenforce 1.
Постоянное отключение SELinux
Чтобы изменить режим навсегда (после перезагрузок), отредактируйте конфигурационный файл SELinux:
sudo nano /etc/selinux/config
Найдите строку SELINUX и установите значение permissive (рекомендуется) или disabled:
# для режима permissive (безопаснее): SELINUX=permissive # или для полного отключения: SELINUX=disabled
Сохраните файл и перезагрузите систему, чтобы изменения вступили в силу:
sudo reboot
Проверка после перезагрузки
getenforce # вернёт Permissive или Disabled в соответствии с вашим конфигом