Làm cách nào để vô hiệu hóa SELinux mà không cần khởi động lại?


50

Tôi cần tắt Selinux nhưng không thể khởi động lại máy

tôi đã theo liên kết này nơi tôi nhận được lệnh dưới đây

setenforce 0

Nhưng sau khi chạy lệnh này, tôi đã kiểm tra

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

Có lựa chọn nào khác?


4
setenforce 0<- bạn đã chạy nó từ root hay với sudo?
UVV

1
@UVV vâng tôi đang làm tất cả những điều này từ root
Vikas Hardia

Câu trả lời:


59

sestatusđang hiển thị chế độ hiện tại là permissive.

Trong permissivechế độ, SELinux sẽ không chặn bất cứ thứ gì, mà chỉ cảnh báo bạn. Dòng này sẽ hiển thị enforcingkhi nó thực sự chặn.

Tôi không tin rằng có thể vô hiệu hóa hoàn toàn SELinux mà không cần khởi động lại.


1
Tôi nghĩ rằng bạn có thể vô hiệu hóa nó mà không cần khởi động lại bằng cách chỉnh sửa trực tiếp tệp / etc / selinux / config và đặt SELINUX = bị vô hiệu hóa
dmohr

1
@dmohr - Nếu bạn đọc tài liệu Centos này, nó sẽ cho bạn biết rằng nó chỉ hoạt động trong lần khởi động lại tiếp theo.
garethTheRed

12

Vô hiệu hóa SELinuxmà không khởi động lại là không thể. Nhưng tôi đoán làm cho nó trong permissivechế độ sẽ làm hài lòng yêu cầu của bạn.

Đầu ra của sestatuschương trình SELinuxđược bật nhưng cũng hiển thị nó ở Permissivechế độ, đó là những gì bạn vừa làm với setenforcelệnh.


10

Trên CentOS 7:

echo 0 > /sys/fs/selinux/enforce

2
fwiw, điều này không làm việc cho tôi, 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

Tại thời điểm viết những gì OP đã làm nên làm việc. Trên 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

Khi người dùng không làm việc.

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

Là root, nó làm:

[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

Điều tương tự cũng áp dụng cho CentOS 7 và RedHat EL 7: nó hoạt động mà không cần khởi động lại.


4

Cách tốt nhất để vô hiệu hóa selinux là sử dụng lệnh sau:

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

HOẶC LÀ

  1. vi /etc/sysconfig/selinux, bộ selinux=disabled

HOẶC LÀ

  1. set enforce 0 sestatus

Mặc dù trong một số trường hợp nhất định, khởi động lại sẽ được yêu cầu.


3

Đối với CentOS 6 (không phải 7):

echo 0 > /selinux/enforce

1
Không hoạt động trên centos 7. Chỉ hoạt động trên centos 6 trở xuống
shreddd

1
Câu trả lời này là chính xác cho centos 6. Vui lòng kiểm tra lại trước khi bỏ phiếu.
ora-600
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.