Linux下如何臨時或永久禁用SELinux
Linux被認為是當今最安全的操作系統之一,這是因為其出色的安全實現功能,如SELinux(安全增強型Linux)。
對于初學者,SELinux被描述為在內核中執行的強制訪問控制(MAC)安全結構。SELinux提供了一種強制執行某些安全策略的方法,否則系統管理員無法有效實施這些策略。
當您安裝RHEL/CentOS或多個衍生產品時,默認情況下會啟用SELinux功能或服務,因為您的系統上的某些應用程序可能實際上不支持此安全機制。因此,要使這些應用程序正常運行,您必須禁用或關閉SELinux。
在本操作指南中,我們將介紹您可以遵循的步驟,以檢查SELinux的狀態,并在CentOS/RHEL和Fedora中禁用SELinux,以防它啟用。
如何在Linux中禁用SELinux
首先要檢查系統上SELinux的狀態,您可以通過運行以下命令來執行此操作:
[linuxidc@localhost linuxidc.com]$ 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: 31
接下來,繼續在系統上禁用SELinux,這可以暫時或永久完成,具體取決于您要實現的目標。
暫時禁用SELinux
要暫時禁用SELinux,請以root身份發出以下命令。
在 CentOS 6.7 及以前版本,運行下面的命令:
# echo 0 > /selinux/enforce
這樣就會暫時性的關閉 SELinux,使用命令重新開啟或者重起系統之后就會恢復。如果要重新開啟,只需要再運行下述命令:
# echo 1 > /selinux/enforce
或者,您可以使用setenforce工具,如下所示。
在 CentOS 7 中,可以執行,
# setenforce 0
來臨時將 SELinux 的模式(Mode)設置為 Permissive,就相當于讓它繼續處于運行狀態,監控和記錄信息,但是不采取任何攔截動作,也就相當于臨時禁用 SELinux 了。但是重啟系統后就會恢復到原來的狀態。
還可以隨時將它恢復,或者臨時啟用,
# setenforce 1
上述命令是通過修改配置文件 /selinux/enforce 的內容為 ‘1’ 或者 ‘0’ 來啟用或者關閉 SELinux 服務的。
否則,使用Permissive選項而不是0,如下所示:
# setenforce Permissive
上述方法只能在下次重啟時使用,因此要永久禁用SELinux,請轉到下一部分。
永久禁用SELinux
要永久禁用SELinux,請使用您喜歡的文本編輯器打開文件 /etc/sysconfig/selinux,如下所示:
SELinux強制(SELinux Enforcing)模式
然后將指令SELinux=enforcing更改為SELinux=disabled,如下圖所示。
SELINUX=disabled
永久禁用SELinux
然后,保存并退出文件,要使更改生效,您需要重新啟動系統,然后使用sestatus命令檢查SELinux的狀態,如下所示:
[linuxidc@localhost linuxidc.com]$ sestatus
返回結果如下:
SELinux status: disabled
總之,我們通過簡單的步驟,您可以在CentOS/RHEL和Fedora上禁用SELinux。在這個主題下好像也沒有什么可討論的,但另外,了解有關SELinux的更多信息對于那些有興趣探索Linux安全功能的人來說尤其有用。