Bagaimana cara menonaktifkan SELinux tanpa memulai ulang?

50

Saya perlu menonaktifkan SELinux tetapi tidak dapat menghidupkan ulang mesin

saya mengikuti tautan ini di mana saya mendapatkan perintah di bawah ini

setenforce 0

Tetapi setelah menjalankan perintah ini saya memeriksa untuk itu

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

Apakah ada opsi lain?

Vikas Hardia
sumber
4
setenforce 0<- apakah Anda menjalankannya dari root atau dengan sudo?
UVV
1
@ UVV ya saya melakukan semua ini dari root
Vikas Hardia

Jawaban:

59

sestatusmenampilkan mode saat ini sebagai permissive.

Dalam permissivemode, SELinux tidak akan memblokir apa pun, tetapi hanya memperingatkan Anda. Baris akan ditampilkan enforcingketika itu benar-benar mencekal.

Saya tidak percaya itu mungkin untuk sepenuhnya menonaktifkan SELinux tanpa reboot.

garethTheRed
sumber
1
Saya pikir Anda dapat menonaktifkannya tanpa reboot dengan langsung mengedit file / etc / selinux / config dan mengatur SELINUX = dinonaktifkan
dmohr
1
@ demohr - Jika Anda membaca dokumen Centos ini memberitahu Anda bahwa itu hanya bekerja pada reboot berikutnya.
garethTheRed
12

Menonaktifkan SELinuxtanpa mem-boot ulang tidak dimungkinkan. Tapi saya rasa membuatnya dalam permissivemode akan memuaskan kebutuhan Anda.

Output dari sestatusacara SELinuxdiaktifkan tetapi juga menunjukkan itu dalam Permissivemode, yang baru saja Anda lakukan dengan setenforceperintah.

pemula
sumber
10

Pada CentOS 7:

echo 0 > /sys/fs/selinux/enforce
sekarang tahu
sumber
2
fwiw, ini tidak berhasil untuk saya, 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

Pada saat penulisan apa yang OP lakukan seharusnya berhasil. Pada 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

Karena pengguna tidak berfungsi.

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

Sebagai root, ia melakukan:

[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

Hal yang sama berlaku untuk CentOS 7 dan RedHat EL 7: ia bekerja tanpa reboot.

Janos Feher
sumber
4

Cara terbaik untuk menonaktifkan selinux adalah dengan menggunakan perintah berikut:

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

ATAU

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

ATAU

  1. set enforce 0 sestatus

Padahal dalam kasus tertentu restart akan diperlukan.

Divyani Singh
sumber
3

Untuk CentOS 6 (bukan 7):

echo 0 > /selinux/enforce
pengguna169151
sumber
1
Tidak bekerja pada CentOS 7. Hanya bekerja pada CentOS 6 dan di bawah
shreddd
1
Jawaban ini benar untuk centos 6. Silakan periksa ulang sebelum downvoting.
ora-600