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

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

 

Security Enhanced 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 на разрешающий

Когда он включен, SELinux может находиться либо в принудительном, либо в разрешающем режиме. Вы можете временно изменить режим с целевого на разрешающий с помощью следующей команды:

sudo setenforce 0

Однако это изменение действительно только для текущего сеанса выполнения и не сохраняется между перезагрузками.

Чтобы навсегда установить разрешающий режим SELinux, выполните следующие действия:

 

  1. Откройте /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
  2. Сохраните файл и выполните setenforce 0команду, чтобы изменить режим SELinux для текущего сеанса:
    sudo shutdown -r now

Отключение SELinux

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

Выполните следующие шаги, чтобы навсегда отключить SELinux в вашей системе CentOS 8:

  1. Откройте /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
  2. Сохраните файл и перезагрузите систему:
    sudo shutdown -r now
  3. Когда система загружается, используйте sestatusкоманду, чтобы убедиться, что SELinux отключен:
    sestatus

    Результат должен выглядеть так:

    SELinux status:                 disabled

Вывод

SELinux — это механизм защиты системы путем реализации обязательного контроля доступа (MAC). SELinux включен по умолчанию в системах CentOS 8, но его можно отключить, отредактировав файл конфигурации и перезагрузив систему.

Чтобы узнать больше о мощных функциях SELinux, посетите руководство по CentOS SELinux .

Если у вас есть какие-либо вопросы или отзывы, оставьте комментарий ниже.