Enhanced Security Linux или SELinux – это механизм безопасности, встроенный в ядро Linux, используемый дистрибутивами на основе RHEL.
SELinux добавляет дополнительный уровень безопасности в систему, позволяя администраторам и пользователям контролировать доступ к объектам на основе правил политики.
Правила политики SELinux определяют, как процессы и пользователи взаимодействуют друг с другом, а также как процессы и пользователи взаимодействуют с файлами. Когда нет правила, явно разрешающего доступ к объекту, например, процессу, открывающему файл, доступ запрещается.
SELinux имеет три режима работы:
- Применение: SELinux разрешает доступ на основе правил политики SELinux.
- Разрешающий: SELinux регистрирует только те действия, которые были бы запрещены, если бы они выполнялись в принудительном режиме. Этот режим полезен для отладки и создания новых правил политики.
- Отключено: политика SELinux не загружена, а сообщения не зарегистрированы.
По умолчанию в CentOS 8 SELinux включен и находится в принудительном режиме. Настоятельно рекомендуется поддерживать SELinux в принудительном режиме. Однако иногда это может мешать работе какого-либо приложения, и вам необходимо установить его в разрешающий режим или полностью отключить.
В этой статье мы объясним, как отключить SELinux в CentOS 8.
Предпосылки
Только пользователь root или пользователь с привилегиями sudo может изменить режим SELinux.
Проверка режима SELinux
Используйте команду sestatus, чтобы проверить состояние и режим, в котором работает SELinux:
sestatus
SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 31
Вывод выше показывает, что SELinux включен и установлен в принудительный режим.
Изменение режима SELinux на Permissive
Когда SELinux включен, он может находиться в принудительном или разрешенном режиме. Вы можете временно изменить режим с целевого на разрешающий с помощью следующей команды:
sudo setenforce 0
Однако это изменение действительно только для текущего сеанса времени выполнения и не сохраняется между перезагрузками.
Чтобы навсегда установить режим SELinux разрешающим, выполните следующие действия:
- Откройте файл /etc/selinux/config и установите SELINUX в permissive:
/etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
- Сохраните файл и выполните команду setenforce 0, чтобы изменить режим SELinux для текущего сеанса:
sudo shutdown -r now
Отключение SELinux
Вместо отключения SELinux настоятельно рекомендуется изменить режим на разрешающий. Отключайте SELinux только тогда, когда это требуется для правильного функционирования вашего приложения.
Выполните следующие действия, чтобы навсегда отключить SELinux в вашей системе CentOS 8:
- Откройте файл /etc/selinux/config и измените значение SELINUX на disabled:
/etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
- Сохраните файл и перезагрузите систему:
sudo shutdown -r now
- Когда система загрузится, используйте команду sestatus, чтобы убедиться, что SELinux отключен:
sestatus
Вывод должен выглядеть так:
SELinux status: disabled
Вывод
SELinux – это механизм защиты системы путем реализации обязательного контроля доступа (MAC). SELinux по умолчанию включен в системах CentOS 8, но его можно отключить, отредактировав файл конфигурации и перезагрузив систему.
Если у вас есть какие-либо вопросы или пожелания, оставьте комментарий ниже.