Как отключить SELinux на CentOS

Как отключить SELinux на CentOS

Security- Enhanced Linux (SELinux) является особенностью механизма в Linux, что обеспечивает поддержку политик безопасности контроля доступа.

SELinux может создавать правила обращения юзерам или утилитам что дает возможность ограничить некоторые возможности доступа утилит, задав эти возможности и их поведения в виде правил, а ОС с использованием SELinux будет смотреть за соблюдением данных правил. В этой теме я расскажу как выключить или включить SELinux на CentOS. На некоторых из дистрибутивах SELinux включен по умолчанию, что может вызвать некоторые нежелательные действия с его стороны, если вы не понимаете как SELinux работает или как его настроить.

Чтобы отключить SELinux можно использовать любые из 4-х различных методов, упомянутых в этой статье.

SELinux будет применять политики безопасности в том числе обязательного контроля доступа который определен в Linux Kernel. Каждые файлы и процессы в системе будут помечены определенными ярлыками, которые будут использоваться в SELinux. Вы можете использовать команду и просматривать эти ярлыки, как показано ниже:

# ls -Z /etc/

просматривать ярлыки можно с ls -Z

Это не полный список который я  привел, он может быть другой у вас.

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
проверка статуса selinux с помощью sestatus

проверка статуса selinux с помощью sestatus

# cat /etc/selinux/config

вывод конфига selinux

У меня он включен, я хочу его выключить, то для этого нужно открыть конфиг и прописать:

# vim /etc/selinux/config

Нужно найти:

SELINUX=enabled

Заменить на:

SELINUX=disabled

Как показано на следующем скриншоте:

SELINUX=disabled

После чего нужно перезапустить нашу ОС:

# reboot

3-й метод. Отключение SELinux в самом загрузчике Grub.

Если вы не можете найти /etc/selinux/config на вашей системе, вы можете передать отключить SELinux путем передачи параметра в загрузчик GRUB, как показано ниже.

# cat /boot/grub/grub.conf
Отключение SELinux в самом загрузчике граб в grub.conf

Отключение SELinux в самом загрузчике граб в grub.conf

4-й метод. Отключение только конкретной услуги в SELinux — HTTP / Apache

Если вы не заинтересованы в отключении всего SELinux, вы также можете отключить SELinux только для конкретной услуги. Например, вы хотите отключить SELinux для обслуживания HTTP / Apache, то нужно изменить переменную httpd_disable_trans в файле /etc/selinux/targeted/booleans.

Установите переменную httpd_disable_trans в 1, как показано ниже.

Отключение только конкретной услуги в SELinux - HTTP / ApacheОтключение только конкретной услуги в SELinux - HTTP / Apache
Установите значение 1 или 0 с помощью команды setsebool как показано ниже, после нужно перезапустить службу HTTP.

# setsebool httpd_disable_trans 1
# service httpd restart

На этом я завершу свою тему «Как отключить SELinux на CentOS».

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

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