Jak wyłączyć SELinux bez restartu?

50

Muszę wyłączyć SELinux, ale nie mogę ponownie uruchomić komputera

podążyłem za tym linkiem, gdzie otrzymałem poniższe polecenie

setenforce 0

Ale po uruchomieniu tego polecenia sprawdziłem to

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

Czy jest jakaś inna opcja?

Vikas Hardia
źródło
4
setenforce 0<- czy uruchomiłeś to z roota czy z sudo?
UVV
1
@UVV tak, robię to wszystko od roota
Vikas Hardia

Odpowiedzi:

59

sestatuspokazuje aktualny tryb jako permissive.

W permissivetrybie SELinux niczego nie blokuje, a jedynie ostrzega. Linia pokaże, enforcingkiedy faktycznie się blokuje.

Nie sądzę, że można całkowicie wyłączyć SELinux bez ponownego uruchomienia.

garethTheRed
źródło
1
Myślę, że możesz to wyłączyć bez restartu, bezpośrednio edytując plik / etc / selinux / config i ustawiając SELINUX = disabled
dmohr
1
@dmohr - Jeśli przeczytasz ten dokument Centos , powie Ci, że działa tylko przy następnym restarcie.
garethTheRed
12

Wyłączenie SELinuxbez ponownego uruchomienia nie jest możliwe. Ale myślę, że permissiveprzejście w tryb będzie zaspokajać twoje wymagania.

Wyjście sestatusprogramów SELinuxjest włączone, ale pokazuje również, że jest w Permissivetrybie, co właśnie zrobiłeś z setenforcepoleceniem.

początkujący
źródło
10

W CentOS 7:

echo 0 > /sys/fs/selinux/enforce
rsnow
źródło
2
fwiw, to mi nie zadziałało, # 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
Centos
7

W momencie pisania tego, co OP zrobił, powinno działać. W Fedorze 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

Ponieważ użytkownik nie działa.

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

Jako root:

[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

To samo dotyczy CentOS 7 i RedHat EL 7: działa bez restartu.

Janos Feher
źródło
4

Najlepszym sposobem na wyłączenie selinux jest użycie następującego polecenia:

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

LUB

  1. vi /etc/sysconfig/selinux, ustaw selinux=disabled

LUB

  1. set enforce 0 sestatus

Chociaż w niektórych przypadkach wymagane będzie ponowne uruchomienie.

Divyani Singh
źródło
3

Dla CentOS 6 (nie 7):

echo 0 > /selinux/enforce
użytkownik169151
źródło
1
Nie działa na centos 7. Działa tylko na centos 6 i under
shreddd
1
Ta odpowiedź jest poprawna dla centos 6. Proszę dokładnie sprawdzić przed oddaniem głosu.
ora-600