selinux

selinux:Security Enhanced Linux安全加強的linux
早期是美國國安局(NSA)發起的一個項目,目的是使操作系統通過一種機制進行加固,直到操作系統的安全性能夠達到讓軍方使用的程度而設計的。selinux是對MAC的一種解決方案。

MAC:強制訪問控制mandatory access control
定義一個類型,用戶只可以訪問此類型或者此類型的子類型的文件,其它文件不允許訪問。當一個文件被移動時它的類型會隨着所處的位置發生改變,這是selinux定義的訪問控制策略所設定的。

一個用戶能訪問的文件取決於
1、文件的權限
2、用戶的權限
3、文件的類型
他們就是用戶定義的規則,定義過後一個用戶能否訪問就取決於這些規則

/etc/selinux/config
/etc/sysconfig/selinux這兩個是一個文件。在文件裏面
strict:
工作在此進程下的是全局的,所有進程都被控制、使用這個很困難,一不小心,系統就不能正常運行。
targeted:(由紅帽開發)
指定只有誰被限定不能做什麼,其他的不進行限定。


策略policy
把規則組合起來就叫策略
規則爲了提高效率是以二進制格式的形式存在的。
/etc/selinux目錄下是各種策略的文件
他們都是布爾類型,更改後將不用重新啓動系統,直接生效
使用
getsebool -a 查看所有由selinux定義的bool型的控制。

通過修改文件的類型,可以擴大和縮小用戶的域

查看一個文件的標籤
ls -Z
下面會出現類似這樣的一段標籤共5段,redhat只用三段
用戶 角色 類型
root:object_r:user_home_t

ps -Z查看一個進程的域,如果出現
unconfined_t  //表示這個服務不受selinux控制

在不同位置建立的文件類型不同,這裏我們可以修改它們的類型使用
chcon (change context)
-R  遞歸修改
-v  顯示信息,vv顯示更詳細的信息,最多3個v
-t  更改類型指定爲特定類型
--reference 以某個文件的類型爲參照,改成那個類型
如:
chcon -R --reference=/var/www/html /www
以/var/www/html類型爲參照把/www的所有文件都改成那個類型
chcon -R -t samba_share_t /share/
把/share/下目錄的類型都改爲samba_share_t的類型


restorecon恢復selinux安全上下文
 -R遞歸
 -v顯示信息
 -F強制恢復
如:恢復上面被修改的/www下的文件的類型
restorecon -R -v -F /www

查看定義bool型的開關
getsebool -a就可以查看
如:這裏想查看與httpd相關的
getsebool -a | grep httpd

如何開啓和關閉呢?
這裏使用setsebool
-P表示修改後永久有效,不加臨時有效
讓一個類型=1或者=on表示開啓,=0或者=off表示關閉。
如:
setsebool httpd_enable_cgi=1   表示開啓
setsebool httpd_enable_cgi=0  表示關閉

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章