SELinux模式(由上述例子中第6行的SELINUX選項確定):可以被設(shè)置為enforcing,permissive或disabled三種:
1) 在enforcing模式下,策略被完整執(zhí)行,這是SELinux的主要模式,應(yīng)該在所有要求增強Linux安全性的操作系統(tǒng)上使用。
2) 在permissive模式下,策略規(guī)則不被強制執(zhí)行,而只是進行審核。除此之外,SELinux不會影響系統(tǒng)的安全性,這個模式在調(diào)試和測試一個策略時非常有用。
3) 在disabled模式下,SELinux內(nèi)核機制是完全關(guān)閉的,只有系統(tǒng)啟動時策略載入前系統(tǒng)才會處于disabled模式,這個模式和 permissive模式有所不同。permissive模式不會拒絕任何訪問,只是進行審核;而在disabled模式下,SELinux將不會有任何動作。特別地,在enforcing和permissive模式或disabled模式之間切換時要小心,當(dāng)返回enforcing模式時,通常會導(dǎo)致文件標(biāo)記不一致。SELinux配置文件中的模式設(shè)置由init使用,在它載入初始策略前配置SELinux使用。
以下是啟動SELinux的詳細步驟示意:
(1)編輯配置文件
根據(jù)上面的介紹,編輯確定SELinux的運行模式和活動策略(見下面配置文件中的黑體部分)即可:
(2)使用getenforce命令和sestatus命令查看SELinux的運行模式和詳細上下文信息:
#/usr/sbin/getenforce
#/usr/sbin/sestatus
(3)使用root用戶身份重啟系統(tǒng)即可:
#reboot
同理,禁用SELinux的步驟就是在編輯配置文件時設(shè)為“SELINUX=diabled”。
三、使用SELinux策略目錄
如上述的例子中,SELinux配置文件中的SELINUXTYPE選項告訴init在系統(tǒng)啟動過程中載入哪個策略,這里設(shè)置的字符串必須匹配用來存儲二進制策略版本的目錄名,例如,用戶使用MLS(Multi-Level Security,多級安全)策略,因此用戶設(shè)置SELINUXTYPE=MLS,確保用戶想要內(nèi)核使用的策略在/etc/selinux/config 文件中。在上述例子中,活動策略默認為目標(biāo)策略(targeted),由第10行給出所示。
SELinux系統(tǒng)上安裝的每個策略在/etc/selinux/目錄下都它們自己的目錄,子目錄的名字對應(yīng)于策略的名字(如,strict,targeted,refpolicy等),在SELinux配置文件中就要使用這些子目錄名字,告訴內(nèi)核在啟動時載入哪個策略,在本章中提到的所有路徑都是相對域策略目錄路徑/etc/selinux/[policy]/的,圖1是在最新的Fedora 16系統(tǒng)上/etc/selinux/目錄的簡單列表輸出: