SELinux查看策略規則的方法:1、使用seinfo指令,查詢SELinux的策略提供多少相關規則,一個主體程序能否讀取到目標檔資源的重點是在於SELinux的策略以及策略內的各項規則,語法「seinfo [選項]」;2、使用sesearch指令,可查詢SELinux策略規則的具體內容,語法「sesearch [選項] [規則類型] [表達式]」。
本教學操作環境:linux7.3系統、Dell G3電腦。
SELinux策略規則檢視方法有兩個:seinfo和sesearch。
目前 SELinux 的預設策略是 targeted,那麼這個策略中到底包含有多少個規則呢?使用 seinfo
指令即可查詢。
seinfo指令是用來查詢SELinux的策略提供多少相關規則,一個主體程序能否讀取到目標檔案資源的重點在於SELinux的策略以及策略內的各項規則,然後再透過該規則的定義去處理各項目標文件的安全上下文,尤其是「類型」部分。
sesearch 指令格式如下:
seinfo [选项]
常用選項:
#-a | 列出SELinux的狀態、規則布林值、身分識別、角色、型別等所有資訊 |
-t | #列出SELinux所有型別(type)的種類 |
-r | 列出SELinux所有角色(role)的種類 |
#-u | 列出SELinux所有識別(user )的種類 |
-b | 列出所有規則的種類(布林值) |
[root@localhost ~]# seinfo -b #还记得-b选项吗?就是查询布尔值,也就是查询规则名字 Conditional Booleans:187 #当前系统中有187个规则 allow_domain_fd_use allow_ftpd_full_access allow_sysadm_exec_content allow_user_exec_content allow_zebra_write_config …省略部分输出…
seinfo 指令只能看到所有規則的名稱,如果想要知道規則的具體內容,就需要使用
sesearch 指令
了。
sesearch [选项] [规则类型] [表达式]選項:
[root@localhost ~]# seinfo -b | grep http httpd_manage_ipa …省略部分输出… #查询和apache相关的规则,有httpd_manage_ipa规则 [root@localhost ~]# sesearch --all -b httpd_manage_ipa # httpd_manage_ipa规则中具体定义了哪些规则内容呢?使用sesearch命令查询一下 Found 4 semantic av rules: allow httpd_t var_run_t:dir { getattr search open } ; allow httpd_t memcached_var_run_t:file { ioctl read write create getattr setattr lock append unlink link rename open } ; allow httpd_t memcached_var_run_t:dir { ioctl read write getattr lock add_name remove_name search open } ; allow httpd_t var_t:dir { getattr search open } ; Found 20 role allow rules: allow system_r sysadm_r; allow sysadm_r system_r; …省略部分输出…每個規則中都定義了大量的具體規則內容,這些內容比較複雜,一般不需要修改,會查詢即可。 可是我們有時知道的是安全上下文的類型,而不是規則的名稱。例如,我們已知 apache 進程的網域是 httpd_t,而 /var/www/html/ 目錄的型別是 httpd_sys_content_t。而 apache 之所以可以存取 /var/www/html/ 目錄,是因為 httpd_t 網域和 httpd_sys_content_t 類型相符。 那麼,該如何查詢這兩個類型相符的規則呢?指令如下:
[root@localhost ~]# ps auxZ | grep httpd unconfined_u:system_r:httpd_t:s0 root 25620 0.0 0.5 11188 36X6 ? Ss 03:44 0:03 /usr/sbin/httpd #apache进程的域是httpd_t [root@localhost ~]# ls -Zd /var/www/html/ drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/ #/var/www/html/ 目录的类型是 httpd_sys_content_t [root@localhost ~]# sesearch --all -s httpd_t -t httpd_sys_content_t Found 13 semantic av rules: ...省略部分输出... allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open }; allow httpd_t httpd_sys_content_t : dir { ioctl read getattr lock search open }; allow httpd_t httpd_sys_content_t : lnk_file { read getattr }; allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open }; ...省略部分输出... #可以清楚地看到httpd_t域是允许访间和使用httpd_sys_content_t类型的相關推薦:《
Linux影片教學》
以上是SELinux檢視策略規則的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!