
Security Enhanced Linux или SELinux — это механизм безопасности, встроенный в ядро Linux, используемый дистрибутивами на базе RHEL.
SELinux добавляет дополнительный уровень безопасности в систему, позволяя администраторам и пользователям контролировать доступ к объектам на основе правил политики.
Правила политики SELinux определяют, как процессы и пользователи взаимодействуют друг с другом, а также как процессы и пользователи взаимодействуют с файлами. Если нет правила, явно разрешающего доступ к объекту, например, для процесса, открывающего файл, доступ запрещается.
SELinux имеет три режима работы:
- Обеспечение соблюдения: SELinux разрешает доступ на основе правил политики SELinux.
- Разрешающий режим: SELinux регистрирует только те действия, которые были бы запрещены в принудительном режиме. Этот режим полезен для отладки и создания новых правил политики.
- Отключено: политика SELinux не загружается, и сообщения не регистрируются.
По умолчанию в CentOS 8 SELinux включён и находится в режиме enforcing. Настоятельно рекомендуется поддерживать SELinux в режиме enforcing. Однако иногда он может мешать работе некоторых приложений, и тогда необходимо перевести его в разрешающий режим или полностью отключить.
В этом руководстве мы объясним, как отключить SELinux в CentOS 8.
Предпосылки
Изменить режим SELinux может только пользователь root или пользователь с привилегиями sudo .
Проверка режима 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 на разрешительный
При включении 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, но его можно отключить, отредактировав файл конфигурации и перезагрузив систему.
Чтобы узнать больше о мощных функциях SELinux, посетите руководство по CentOS SELinux .
Если у вас есть вопросы или отзывы, пожалуйста, оставьте комментарий ниже.
Связанные руководства
- Как настроить и управлять брандмауэром в CentOS 8
- Настройка автоматического обновления с помощью yum-cron на CentOS 7
- Как установить и настроить Fail2ban на CentOS 8
- Как настроить WireGuard VPN на CentOS 8
- Как настроить SSH-ключи в CentOS 8
- Как настроить OpenVPN-сервер на CentOS 7
- Как настроить SSH-ключи в CentOS 7