[TimLinux] selinux sesearch命令詳解


1. 描述

sesearch用於搜索SELinux安全策略規則集,命令來自包:yum install setools-console。

2. 命令

命令使用方法:
sesearch [OPTIONS] RULE_TYPE [RULE_TYPE ...] [EXPRESSION] [POLICY ...]

OPTIONS:
    -d, --direct        不搜索 type 的屬性
    -R, --regex         使用正則表達式進行匹配
    -n, --linenum       顯示每條可用規則的行號
    -S, --semantic      搜索語義(semantically)規則替代語法(syntactically)規則
    -C, --show_cond     顯示條件規則的條件表達式
    -h, --help          幫助信息
    -V, --version       版本號

RULE_TYPES:
    -A, --allow         允許(allow)的規則
    --neverallow        從不允許(neverallow)的規則
    --auditallow        審計(auditallow)的規則
    -D, --dontaudit     不審計的規則
    -T, --type          type_trans, type_member, 和 type_change (我也不懂這個干啥,待補充!)
    --role_allow        角色允許的規則
    --role_tans         role_transition 規則
    --range_trans       range_transition 規則
    --all               所有規則,不論是:type, class, 或 perms(seinfo可獲取class, type值)

EXPRESSIONS:
    -s NAME, --source=NAME        具有類型、屬性值為 NAME 的規則作為源頭(進程主體的概念)
    -t NAME, --target=NAME        具有類型、屬性值為 NAME 的規則作為目標(文件,端口等類型的概念)
    --role_source=NAME            具有角色值為 NAME 的規則作為源頭
    --role_target=NAME            具有角色值為 NAME 的規則作為目標
    -c NAME, --class=NAME         具有 class 值為 NAME 的規則作為對象類(the object class)
    -p P1[,P2,...], --perm=P1[,P2,...]
                                  具有特定權限的規則
    -b NAME, --bool=NAME          具有 NAME 值在表達式中的條件規則

3. 示例

#1. 顯示所有 allow 的規則
[root@tim ~]# sesearch --allow 
Found 101724 semantic av rules:
   allow logrotate_t systemd_passwd_var_run_t : sock_file { ioctl read write create getattr setattr lock...
   allow dmidecode_t virtd_t : fd use ;
   allow ssh_keygen_t anaconda_t : fd use ;
   allow logadm_t systemd_passwd_var_run_t : sock_file { ioctl read write create getattr setattr lock app...
   allow unconfined_dbusd_t unconfined_dbusd_t : x_device { getattr setattr use read write getfocus setfo...
.....


#2. 顯示 httpd_t (-s xx)域允許(--allow)訪問的規則(-d 含義是只顯示直接管理搜索結果)
[root@tim ~]# sesearch -s httpd_t --allow -d 
Found 1294 semantic av rules:
   allow httpd_t system_dbusd_t : unix_stream_socket connectto ;
   allow httpd_t dirsrv_config_t : file { ioctl read write create getattr setattr lock append unlink link rename op...
   allow httpd_t dirsrv_config_t : dir { ioctl read write create getattr setattr lock unlink link rename add_name r...
   allow httpd_t httpd_squirrelmail_t : file { ioctl read write create getattr setattr lock append unlink link rena...
.....


#3. 顯示允許(--allow)訪問 httpd_sys_script_exec_t (-t xx)類型的規則
[root@tim ~]# sesearch -t httpd_sys_script_exec_t --allow -d 
Found 11 semantic av rules:
   allow httpd_sys_script_t httpd_sys_script_exec_t : file { ioctl read getattr lock execute execute_no_trans entryp...
   allow httpd_sys_script_t httpd_sys_script_exec_t : dir { ioctl read getattr lock search open } ;
   allow httpd_sys_script_exec_t httpd_sys_script_exec_t : filesystem associate ;
   allow openshift_domain httpd_sys_script_exec_t : file { ioctl read getattr lock execute execute_no_trans open } ;
   allow openshift_domain httpd_sys_script_exec_t : dir { getattr search open } ;
.....

#4. 顯示能夠寫(-p write)shadow_t 類型文件(-c file)的規則
[root@tim ~]# sesearch -t shadow_t -c file -p write --allow 
Found 11 semantic av rules:
   allow updpwd_t shadow_t : file { ioctl read write create getattr setattr lock append unlink link rename open } ;
   allow yppasswdd_t shadow_t : file { ioctl read write create getattr setattr lock relabelfrom relabelto append unl...
   allow pegasus_openlmi_account_t shadow_t : file { ioctl read write create getattr setattr lock relabelfrom relabe...
   allow files_unconfined_type file_type : file { ioctl read write create getattr setattr lock relabelfrom relabelto...
   allow sysadm_passwd_t shadow_t : file { ioctl read write create getattr setattr lock relabelfrom relabelto append...
.....

#5. 顯示含二元值 samba_enable_home_dirs (-b xx)開關的條件規則
[root@tim ~]# sesearch -b samba_enable_home_dirs --allow -d 
Found 23 semantic av rules:
   allow smbd_t home_root_t : dir { ioctl read getattr lock search open } ;
   allow smbd_t home_root_t : lnk_file { read getattr } ;
   allow smbd_t user_home_type : file { ioctl read write create getattr setattr lock append unlink link rename open  ...
   allow smbd_t user_home_type : dir { ioctl read write create getattr setattr lock unlink link rename add_name remov...
   allow smbd_t user_home_type : lnk_file { ioctl read write create getattr setattr lock append unlink link rename } ;
.....

 引用:https://www.server-world.info/en/note?os=CentOS_7&p=selinux&f=11


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM