Как отключить SELinux на Ubuntu, CentOS, Debian и RHEL

SELinux (Security-Enhanced Linux) - это механизм безопасности в Linux, который добавляет обязательные контроль доступа поверх стандартных прав файловой системы. Он помогает ограничивать доступ процессов к системным ресурсам и повышает защиту системы.

Иногда SELinux мешает работе приложений или усложняет конфигурацию, особенно при первом знакомстве с системами на базе RHEL/CentOS. В этой статье мы разберём, как проверить статус SELinux, временно отключить его и полностью отключить навсегда на разных дистрибутивах Linux.

Что такое SELinux и зачем он нужен

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

  • Ограничить доступ программ к файлам, процессам и ресурсам;

  • Защитить систему от угроз на уровне ядра и приложений;

  • Помочь в расследовании инцидентов благодаря подробному логированию.

Как узнать, включён ли SELinux

Перед изменением настроек полезно проверить текущий статус:

Через команду sestatus

Выполните в терминале:

sestatus

Пример вывода, когда SELinux включён:

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

Если SELinux отключён полностью, вывод будет таким:

SELinux status:                 disabled

Через команду getenforce

getenforce

Эта команда покажет текущий режим работы:

  • Enforcing - правила активны и применяются;

  • Permissive - SELinux логирует нарушения, но не блокирует действия;

  • Disabled - полностью отключён.

Проверка конфигурационного файла

Файл /etc/selinux/config содержит настройки SELinux. Просмотреть его можно так:

cat /etc/selinux/config

Пример содержимого файла:

# This file controls the state of SELinux on the system.
SELINUX=enforcing
SELINUXTYPE=targeted

Значение SELINUX определяет режим работы после перезагрузки.

Временное отключение SELinux

Если требуется быстро отключить SELinux без изменения настроек навсегда (например, для тестирования), это можно сделать так:

Способ 1

echo 0 > /sys/fs/selinux/enforce

Это немедленно отключает принудительное применение политик, но только до перезагрузки.

Способ 2

setenforce 0

Переводит SELinux в Permissive режим, т.е. он будет только логировать нарушения, но не блокировать действия.

Выбор режима permissive

setenforce Permissive

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

Важно: все эти команды действуют только до следующей перезагрузки. После reboot система снова вернёт SELinux в исходный режим.

Полное отключение SELinux (постоянно)

Чтобы SELinux оставался отключённым после перезагрузки, надо изменить конфигурацию системы.

На RHEL

В RHEL (Red Hat Enterprise Linux) основной конфигурационный файл находится в /etc/sysconfig/selinux.

Откройте его в редакторе:

sudo nano /etc/sysconfig/selinux

Найдите строку:

SELINUX=enforcing

и замените на:

SELINUX=disabled

Сохраните изменения и перезагрузите систему:

sudo reboot

После запуска проверьте статус через sestatus должен быть disabled.

На Ubuntu, Debian и CentOS

В этих системах конфигурационный файл находится по пути /etc/selinux/config.

Откройте его:

sudo nano /etc/selinux/config

Найдите строку:

SELINUX=enforcing

и замените на:

SELINUX=disabled

После этого сохраните файл и перезагрузите систему:

sudo reboot

Теперь SELinux будет отключён навсегда.

Отключение через загрузчик (GRUB)

Ещё один способ отключиение это добавить параметр в конфигурацию загрузчика GRUB. Это полезно, если по каким-то причинам изменение конфигурационного файла не работает.

Откройте файл GRUB:

sudo nano /boot/grub/grub.cfg

Найдите строку запуска ядра, она начинается с linux /boot/vmlinuz…. В конец строки добавьте:

selinux=0

Сохраните и перезагрузите систему. SELinux будет отключён ещё на этапе загрузки ядра.

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

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

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи

Условные операторы if else в Bash и shell-скриптах

Использование условных операторов if, else и elif в shell-скриптах Bash. Рассматриваются базовый синтаксис, числовые и строковые сравнения, проверки файлов, вложенные условия и практические примеры для повседневных задач администрирования и автоматизации.

10 0 2 мин