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 відповідно до вашого конфігу