DataLife Engine / SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

SELinux - это относительно новая подсистема ядра, разработанная агентством национальной безопасности США для улучшения безопасности операционных систем на базе ядра Linux. SELinux создаёт свои атрибуты контроля доступа для файлов и папок, а также позволяет указывать, каким программам можно иметь к ним доступ.

Таким образом, можно обезопасить систему от взлома, даже если злоумышленнику удастся взломать одну из запущенных программ, то он сможет получить доступ только к файлам, которые может открывать уязвимая программа. Так сложилось, что SELinux чаще всего используется в CentOS, а в Ubuntu больше применяется другая система - AppArrmor. Использование SELinux не всегда целесообразно, поскольку настройка системы с включённой системой безопасности усложняется в разы. Поэтому мы в этой статье разберём, как отключить SELinux CentOS 7.

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

SELinux может работать в нескольких режимах:

Также есть несколько политик работы системы безопасности. По умолчанию SELinux в CentOS включена и работает согласно политике targeted. Это значит, что SELinux будет управлять только теми приложениями, для которых созданы правила. Все приложения, для которых правила не созданы, будут работать без ограничений. Этот принцип чем-то похож на работу AppArrmor. Существует также политика strict, это самая строгая политика, которая запрещает доступ ко всему, что не разрешено. Прочитать подробнее обо всём этом можно в статье настройка SELinux.

Сначала необходимо посмотреть текущее состояние SELinux в системе:

sestatus

SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

Здесь мы видим, что SELinux включён (enforcing) и использует политику targeted.

Если у вас используется политика strict, и вы не хотите полностью отключать SELinux, но хотите, чтобы система трогала ваши программы, то можно переключить политику на targeted. Для этого откройте файл /etc/selinux/config и в строке SELINUXTYPE установите значение targeted:

sudo vi /etc/selinux/config

SELINUXTYPE=targeted

SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

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

sudo setenforce 0

SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

Но она будет действовать только до перезагрузки. Чтобы изменение действовало всегда, нужно изменить режим в конфигурационном файле /etc/selinux/config:

sudo vi /etc/selinux/config

SELINUX=permissive

SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

Чтобы отключить SELinux CentOS 7 полностью, откройте файл /etc/selinux/config и замените значение enforcing в параметре SELinux на disabled:

sudo vi /etc/selinux/config

SELINUX=enforcing

SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

Теперь можно перезагружать компьютер, и SELinux будет отключена. Также можно отключить SELinux через Grub, это может быть полезно, например, если вы не можете загрузить систему из-за неправильно настроенного SELinux. Для этого достаточно добавить параметр ядра selinux=0.

Откройте конфигурационный файл grub - /boot/grub/grub.cfg и найдите там строчку запуска ядра, она начинается с linux... В её конец нужно добавить параметр:

sudo vi /boot/grub/grub.cfg

linux /boot/vmlinuz-3.10.0-862.el7.x86_64 root=UUID=33a6fe0e-5576-4ff9-bd7f-7d451d670cab ro crashkernel=auto rhgb quiet LANG=ru_RU.UTF-8 selinux=0

SELinux в CentOS 7: Полное руководство по отключению и настройке режимов

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

Выводы

В этой небольшой статье мы разобрали, как отключить SELinux в CentOS 7. Это система безопасности, поэтому подумайте перед тем, как сделать это. Отключение SELinux CentOS 7 - это последний вариант и самое простое решение. Но, возможно, лучше всё настроить, чтобы сервер был более безопасным.

16-10-2025, 05:56
Вернуться назад