SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。linux
SELinux 默認安裝在 Fedora 和 Red Hat Enterprise Linux 上。SELinux 是 2.6 版本的 Linux 內核中提供的強制訪問控制(MAC)系統(DAC,Discretionary Access Control自主訪問控制系統是 Linux 的默認訪問控制方式,也就是依據用戶的身份和該身份對文件及目錄的 rwx 權限來判斷是否能夠訪問)。對於可用的 Linux安全模塊來講,SELinux 是功能最全面,並且測試最充分的,它是在 20 年的 MAC 研究基礎上創建的。大部分使用 SELinux 的人使用的都是 SELinux 就緒的發行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它們都是在內核中啓用 SELinux 的,而且提供一個可定製的安全策略。安全
SELinux 控制的就不僅僅只是用戶及權限,還有進程。每一個進程可以訪問哪一個文件資源,以及每一個文件資源能夠被哪些進程訪問,都靠SELinux 的規則策略來肯定。舉個例子:Linux系統中一應用A出現一漏洞,使得遠程用戶能夠訪問系統的敏感文件B,SELinux若是啓用狀態,SELinux發現A不具有訪問B的權限,SELinux就會阻擋A對B的訪問,這樣就起到了保護Linux系統的做用。ide
SELinux有三種模式:測試
Enforcing:SELinux策略強制執行。命令行
Pemissive:SELinux策略不強制執行,不實際拒絕訪問,但會有拒絕信息寫入日誌日誌
Disabled:徹底禁用SELinuxblog
SELinux狀態查看;進程
命令:getenforceci
三種模式的修改:資源
命令行:
經過文件修改:
配置文件路徑:/etc/selinux/config,命令行沒法把狀態修改成disable,只能經過修改配置文件達成。
若是不想重啓電腦怎麼實現狀態和配置文件的改變呢,經過命令行修改狀態,再修改配置文件,確保下次重啓就是你須要的狀態,命令行不能實現disable狀態,能夠經過命令行先修改成Permissive(和disable幾乎同樣),再把配置文件的值改成disable,這樣就能夠實現改成關閉狀態(disable)。
注:不推薦關閉SELinux。