SELinux全稱是Security Enhanced Linux,由美國國家安所有(National Security Agency)對於強 html
制性訪問控制的實現,是linux上最查出的新安全子系統。 linux
應用SELinux後,能夠減輕惡意攻擊或惡意軟件帶來的災難,並提供對機密性和完整性有很高 安全
要求的信息很高的安全保障。 網絡
SELinux 是安全增強linux (security enhanced linux). spa
一個進程可否訪問一個文件取決於發起進程的用戶和文件的權限。 nuxt
例如:srvd進程想訪問/var/www/html/*中的文件,咱們建立的用戶aaron此時是否可以訪 htm
問/var/www/html/*的文件取決於aaron的權限,咱們建立的文件的默認權限是644,目錄權限是 進程
755。aaron能夠訪問fstab passwd部件,若是黑客劫持了srvd進程,就能夠訪問一些重要文件 ci
了,這是一件很是可怕的事。 get
再好比用戶aa建立了一個文件,想讓用戶bb訪問,怎麼辦呢?改變其餘用戶的權限?那麼其它
用戶也能訪問,這並非咱們想要的。在現有模型下,咱們很難實現單個用戶對單個文件的權限限
制,可是selinux就能夠實現這個問題。
SElinux定義了哪些用戶能夠訪問那些文件,它提供了一系列機制,來限制用戶權限的訪問!
經過selinux配置文件來啓用和停用selinux的方法:
Redhat系統,selinux的配置文件爲:/etc/sysconfig/selinux
配置文件中提供了下列兩個參數: selinux selinuxtype
一、selinux啓用模式介紹:
selinux=status 指定是否要啓用selinux子系統。
status有以下三種狀態:
enforcing 啓用強制性的selinux系統,當違反selinux原則時,強制禁止讀取。
permissive 啓用寬容的selinux系統,當違反selinux原則時,仍容許讀取但會顯示警告信息。
disabled 停用selinux子系統。
以下示:
selinux=disabled
更改後須要重啓linux系統才能生效!!
二、selinux使用policy介紹
selinuxtype=policy
指定要使用的selinux安全原則,其中policy爲selinux安全原則名稱。
說明以下:
targeted:對部分網絡應用進行保護
strict:完整保護受限模式
mls: 較新的保護模式,目前僅處於理論階段。
三、selinux用於grub的參數
(這此參數的做用是向kernel傳入參數指定selinux相關功能)
手動切換selinux模式不須要從新開機,一旦成功地修改執行模式,selinux會當即改變執行的方法!!
用於grub的選項參數以下所示:
selinux=[0|1]
用於設定內核是否支持selinux
一、檢查當前模式
方法1、
[root@bogon ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: disabled
Policy version: 21
Policy from config file: targeted
方法2、
[root@bogon ~]# getenforce
Enforcing 得知當前個人linux以強制模式執行selinux子系統!
二、修改selinux執行模式
setenforce [value]
其中value可使用如下兩種模式
enforcing或者1:修改爲強制模式
permissive或者0:修改爲容許模式
如:
[root@bogon ~]# setenforce 0
[root@bogon ~]# getenforce
Permissive