2021-05-12 14:32:11
Linux基礎教學學習筆記22——管理SELinux安全
Linux基礎教學學習筆記22——管理SELinux安全
一、ugo模式主動存取控制DAC
檔案的許可權控制ugo rwx
二、selinux強制存取控制MAC
每個檔案資源都有一個標記,特定標記的進程,只能存取特定標記的資源,無法存取其他資源,即使資源的許可權設定為777(rwx)
三、檢視和設定檔案和進程的安全標記
使用-Z的選項可以檢視檔案和進程的標記,以httpd服務為例子:
[root@linuxidc tmp]# ls -Z
--wx-----x. root root unconfined_u:object_r:user_tmp_t:s0 a1
-----w----. root root unconfined_u:object_r:user_tmp_t:s0 a4
---------x. root root unconfined_u:object_r:user_tmp_t:s0 a5
[root@linuxidc html]# ps auxZ|grep httpd
system_u:system_r:httpd_t:s0 root 5477 0.1 0.4 213692 4904 ? Ss
[root@linuxidc html]# ls -ldZ /var/www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
在根下建立一個www的目錄,並在/var/www/html下面做一個www的軟連結:
[root@linuxidc html]# mkdir /www
[root@linuxidc html]# ln -s /www/ www
[root@linuxidc html]# ls
index.html iso ks.cfg www
/www目錄的預設的上上下文為,沒有標記為httpd:
[root@linuxidc html]# ls -ldZ /www/
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /www/
如果這時候啟動httpd服務,開啟瀏覽器,存取www目錄,會提示不被允許:
修改/www目錄的上下文,使其上下文與/var/www/html一致,再開啟www目錄即可存取:
[root@linuxidc html]# chcon -R --reference=/var/www/html/ /www
[root@linuxidc html]# ls -ldZ /www/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /www/
使用restorecon命令可以恢復檔案資源的預設上下文:
[root@linuxidc html]# ls -ldZ /www/
drwxr-xr-x. root root system_u:object_r:default_t:s0 /www/
使用chcon命令只能臨時改變檔案資源的上下文,重新啟動電腦則會恢復預設值,要想永久的修改預設的上下文,則需使用semanage命令:
[root@linuxidc html]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
使用restorcon命令再恢復預設上下文,則恢復的是最新設定的上下文
使用-d選項可以刪除預設的上下文:
[root@linuxidc html]# semanage fcontext -d -t httpd_sys_content_t '/www(/.*)?'
四、selinux的三種模式
1、enforcing
使用getenforce可以檢視系統當前的模式:
[root@linuxidc html]# getenforce
Enforcing
不符合selinux模式則會報警,同時會阻止相關的操作
2、permissive
切換到permissive模式,使用setenforce
[root@linuxidc html]# setenforce 0
[root@linuxidc html]# getenforce
Permissive
不符合selinux模式的操作,permissive會有警報,但是不會阻止相關的操作;
3、disable
在/etc/selinux/config檔案中可永久修改selinux模式:
五、修改selinux模式的布林值
使用getsebool -a命令檢視所有的布林值
[root@linuxidc html]# getsebool -a
abrt_anon_write --> off
abrt_handle_event --> off
abrt_upload_watch_anon_write --> on
如果搭建了某個服務,在用戶端存取該服務,寫不進任何東西,可以按以下步驟檢查:
1、檢查組態檔是否開啟了相關的寫許可權;
2、檔案系統許可權
3、selinux上下文和布林值是否開啟了相關的許可權
圖形化管理selinux可以安裝相關的包,使用system-config-selinux命令;
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-03/115455.htm
相關文章