วิธีการปิดการใช้งาน 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 ใช่ฉันทำทั้งหมดนี้จากราก
Vikas Hardia

คำตอบ:


59

sestatuspermissiveมีการแสดงโหมดปัจจุบันเป็น

ใน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

ในขณะที่เขียนว่า 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

ในฐานะที่เป็น 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

เช่นเดียวกับ 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
คำตอบนี้ถูกต้องสำหรับ centos 6 โปรดตรวจสอบอีกครั้งก่อน downvoting
ora-600
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.