Як відключити SELinux без перезавантаження?


50

Мені потрібно відключити SELinux, але не можу перезапустити машину

Я перейшов за цим посиланням, де я отримую команду нижче

setenforce 0

Але після запуску цієї команди я перевірив на це

sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          disabled
Policy version:                 24
Policy from config file:        targeted

Чи є якийсь інший варіант?


4
setenforce 0<- ти запустив його з кореня чи з sudo?
UVV

1
@UVV так, я роблю все це з root
Vikas Hardia,

Відповіді:


59

sestatusвідображає поточний режим як permissive.

У permissiveрежимі SELinux нічого не блокує, а лише попереджає вас. Рядок буде показаний, enforcingколи він насправді блокується.

Я не вірю, що неможливо повністю відключити SELinux без перезавантаження.


1
Я думаю, ви можете відключити його без перезавантаження, безпосередньо відредагувавши файл / etc / selinux / config та встановивши SELINUX = вимкнено
dmohr

1
@dmohr - Якщо ви читаєте цей документ Centos, він говорить вам, що він працює лише при наступному перезавантаженні.
garethTheRed

12

Відключення SELinuxбез перезавантаження неможливо. Але я думаю, що перетворення його в permissiveрежим збирається задовольнити вашу вимогу.

Виведення sestatusшоу SELinuxввімкнено, але також показує, що він знаходиться в Permissiveрежимі, що саме ви зробили з setenforceкомандою.


10

На CentOS 7:

echo 0 > /sys/fs/selinux/enforce

2
fwiw, це не спрацювало для мене, Centos 7.2:# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive # echo 0 > /sys/fs/selinux/enforce # sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted
datakid

7

На момент написання того, що зробив ОП, має працювати. У Fedora 26:

[aries@csibesz]$ 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
Max kernel policy version:      30

Оскільки користувач не працює.

[aries@csibesz]$ setenforce 0
setenforce:  setenforce() failed

Як корінь, він:

[aries@csibesz]$ sudo setenforce 0
[aries@csibesz]$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      30

Те саме стосується CentOS 7 та RedHat EL 7: він працює без перезавантаження.


4

Найкращий спосіб відключити selinux - це за допомогою наступної команди:

  1. sed -i 's/enforcing/disabled/g' /etc/selinux/config /etc/selinux/config

АБО

  1. vi /etc/sysconfig/selinux, набір selinux=disabled

АБО

  1. set enforce 0 sestatus

Хоча в певних випадках буде потрібно перезапуск.


3

Для CentOS 6 (не 7):

echo 0 > /selinux/enforce

1
Не працює на centos 7. Працює лише на centos 6 та under
shreddd

1
Ця відповідь правильна для центів 6. Будь ласка, перевірте, перш ніж відхиляти.
ora-600
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.