首頁 > 軟體

Linux下如何臨時或永久禁用SELinux

2020-06-16 16:34:28

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安全功能的人來說尤其有用。


IT145.com E-mail:sddin#qq.com