[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