Как отключить 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<- вы запускали его с правами root или с sudo?
UVV
1
@UVV да, я делаю все это от root
Викас Хардиа

Ответы:

59

sestatusпоказывает текущий режим как permissive.

В permissiveрежиме SELinux ничего не блокирует, а просто предупреждает. Линия покажет, enforcingкогда она фактически блокируется.

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

garethTheRed
источник
1
Я думаю, что вы можете отключить его без перезагрузки, напрямую отредактировав файл / etc / selinux / config и установив SELINUX = disabled
dmohr
1
@dmohr - если вы прочитаете этот документ Centos, он скажет вам, что он работает только при следующей перезагрузке.
garethTheRed
12

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

Вывод sestatusпередач SELinuxвключен, но также показывает, что он находится в Permissiveрежиме, который вы только что сделали с setenforceкомандой.

beginer
источник
10

На CentOS 7:

echo 0 > /sys/fs/selinux/enforce
rsnow
источник
2
между прочим, это не сработало для меня, 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
дата
7

На момент написания статьи OP должен работать. На 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
user169151
источник
1
Не работает на CentOS 7. Работает только на CentOS 6 и под
shreddd
1
Этот ответ правильный для centos 6. Пожалуйста, проверьте еще раз перед голосованием.
ora-600