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