Как отключить SELinux на CentOS
Security- Enhanced Linux (SELinux) является особенностью механизма в Linux, что обеспечивает поддержку политик безопасности контроля доступа.
SELinux может создавать правила обращения юзерам или утилитам что дает возможность ограничить некоторые возможности доступа утилит, задав эти возможности и их поведения в виде правил, а ОС с использованием SELinux будет смотреть за соблюдением данных правил. В этой теме я расскажу как выключить или включить SELinux на CentOS. На некоторых из дистрибутивах SELinux включен по умолчанию, что может вызвать некоторые нежелательные действия с его стороны, если вы не понимаете как SELinux работает или как его настроить.
Чтобы отключить SELinux можно использовать любые из 4-х различных методов, упомянутых в этой статье.
SELinux будет применять политики безопасности в том числе обязательного контроля доступа который определен в Linux Kernel. Каждые файлы и процессы в системе будут помечены определенными ярлыками, которые будут использоваться в SELinux. Вы можете использовать команду и просматривать эти ярлыки, как показано ниже:
# ls -Z /etc/
Это не полный список который я привел, он может быть другой у вас.
1-й метод отключения SELinux на CentOS. Временно.
Чтобы отключить SELinux временно необходимо изменить /selinux/enforce, как показано ниже. Обратите внимание, что этого параметра уже не будет после перезагрузки системы.
И так, проверим какое состояние имеет SELinux на сервере:
# cat /selinux/enforce 1
Или, можно использовать:
# /usr/sbin/sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: permissive Mode from config file: enforcing Policy version: 24 Policy from config file: targeted
Это означает что он включен. Чтобы выключить, используем следующую команду:
# echo 0 > /selinux/enforce
И, снова проверяем:
# cat /selinux/enforce 0
Возможные параметры для setenforce являются:
- 1 (включить).
- 0 (отключить).
Вы также можете использовать команду setenforce, как показано ниже, чтобы отключить SELinux. Вот пример выполнения этой команды:
# setenforce 0
Или, предоставлю еще один вариант использования:
# setenforce Permissive
PS: Для проверки, служит еще одна замечательная команда:
# getenforce Permissive
2-й метод отключения SELinux на CentOS. Раз и навсегда!
Проверим состояние SELinux на CentOS.
# sestatus
# cat /etc/selinux/config
У меня он включен, я хочу его выключить, то для этого нужно открыть конфиг и прописать:
# vim /etc/selinux/config
Нужно найти:
SELINUX=enabled
Заменить на:
SELINUX=disabled
Как показано на следующем скриншоте:
После чего нужно перезапустить нашу ОС:
# reboot
3-й метод. Отключение SELinux в самом загрузчике Grub.
Если вы не можете найти /etc/selinux/config на вашей системе, вы можете передать отключить SELinux путем передачи параметра в загрузчик GRUB, как показано ниже.
# cat /boot/grub/grub.conf
4-й метод. Отключение только конкретной услуги в SELinux — HTTP / Apache
Если вы не заинтересованы в отключении всего SELinux, вы также можете отключить SELinux только для конкретной услуги. Например, вы хотите отключить SELinux для обслуживания HTTP / Apache, то нужно изменить переменную httpd_disable_trans в файле /etc/selinux/targeted/booleans.
Установите переменную httpd_disable_trans в 1, как показано ниже.
Установите значение 1 или 0 с помощью команды setsebool как показано ниже, после нужно перезапустить службу HTTP.
# setsebool httpd_disable_trans 1 # service httpd restart
На этом я завершу свою тему «Как отключить SELinux на CentOS».