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. 示例

#. 显示所有 allow 的规则
[root@tim ~]# sesearch --allow
Found 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...
..... #. 显示 httpd_t (-s xx)域允许(--allow)访问的规则(-d 含义是只显示直接管理搜索结果)
[root@tim ~]# sesearch -s httpd_t --allow -d
Found 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...
..... #. 显示允许(--allow)访问 httpd_sys_script_exec_t (-t xx)类型的规则
[root@tim ~]# sesearch -t httpd_sys_script_exec_t --allow -d
Found 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 } ;
..... #. 显示能够写(-p write)shadow_t 类型文件(-c file)的规则
[root@tim ~]# sesearch -t shadow_t -c file -p write --allow
Found 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...
..... #. 显示含二元值 samba_enable_home_dirs (-b xx)开关的条件规则
[root@tim ~]# sesearch -b samba_enable_home_dirs --allow -d
Found 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

[TimLinux] selinux sesearch命令详解的更多相关文章

  1. 【初级】linux mkdir 命令详解及使用方法实战

    mkdir命令详解及使用方法实战 名称 MKDIR 是 make directories 的缩写 使用方法 mkdir [选项(如-p)] ...目录名称(及子目录注意用分隔符隔开)...    如使 ...

  2. Linux命令详解之–ls命令

    今天开始为大家介绍下Linux中常用的命令,首先给大家介绍下Linux中使用频率最高的命令--ls命令. 更多Linux命令详情请看:Linux命令速查手册 linux ls命令用于显示指定工作目录下 ...

  3. Linux服务器,服务管理--systemctl命令详解,设置开机自启动

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...

  4. linux shell 脚本攻略学习11--mkdir和touch命令详解

    一.创建目录(mkdir命令详解) amosli@amosli-pc:~/learn$ mkdir dir amosli@amosli-pc:~/learn/dir$ mkdir folder amo ...

  5. 【Linux 运维】查看网络连接状态信息之netstat和ss命令详解

    一.netstat 常用命令详解 通过man netstat可以查看netstat的帮助信息: netstat 命令:用于显示各种网络相关信息,如网络连接,路由表,接口状态,无效连接,组播成员 等等. ...

  6. (转)netstat 命令详解

    netstat 命令详解  原文:https://www.cnblogs.com/xieshengsen/p/6618993.html netstat命令是一个监控TCP/IP网络的非常有用的工具,它 ...

  7. linux命令详解-useradd,groupadd

    linux命令详解-useradd,groupadd 我们在linux命令行中输入useradd: Options:  -b, --base-dir BASE_DIR       base direc ...

  8. linux命令详解之du命令

    du命令概述du命令作用是估计文件系统的磁盘已使用量,常用于查看文件或目录所占磁盘容量.du命令与df命令不同,df命令是统计磁盘使用情况,详见linux命令详解之df命令.du命令会直接到文件系统内 ...

  9. ls(list)命令详解及生产使用示例

    文件有文件名与数据,在linux上被分为两个部分:用户数据(user data)与元数据(metadata) 用户数据,即文件数据块(data block),数据块是记录文件真实内容的地方,我们将其称 ...

随机推荐

  1. Pandas进阶笔记 (一) Groupby 重难点总结

    如果Pandas只是能把一些数据变成 dataframe 这样优美的格式,那么Pandas绝不会成为叱咤风云的数据分析中心组件.因为在数据分析过程中,描述数据是通过一些列的统计指标实现的,分析结果也需 ...

  2. Oracle 数据库基础:数据查询与操作

    SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...

  3. C# Web分页功能实现

    无论是网站还是APP分页功能都是必不可少的.为什么使用分页呢? 1,加载速度快,不会占用服务器太多资源,减少服务器压力. 2,减少数据库压力. 3,提升用户体验. 那么我们常用的分页方法有两种. 1, ...

  4. 全网阅读过20k的Java集合框架常见面试题总结!

    本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.欢迎 Sta ...

  5. 领扣(LeetCode)移动零 个人题解

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作, ...

  6. PostGIS安装教程

    安装环境: win10专业版 postgresql-10.6-1-windows-x64 ---因为使用的是ArcGIS10.4版本,pg10.6对于ArcGIS10.4版本过高,建议选择安装pg9. ...

  7. Java的内存分配机制

    Java程序运行在JVM(Java  Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可 见JVM的重要性 ...

  8. Vue 指令总结大全

    1.v-text v-text主要用来更新textContent. <p>{{msg}}</p>与<p v-text="msg2"></p ...

  9. 【Luogu P1981】表达式求值

    点我进入原题Luogu P1981 [解题思路] 仔细分析题目,这就是一道模拟题…… 直接按照符号读入全部的数字,先算乘法,最后把全部数加起来就是结果了 记得要%10000取最后四位 [参考程序] # ...

  10. 如何搭建Docker私有仓库

    私有仓库 有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用. 本节介绍如何使用本地仓库. docker-registry 是官方提供的工具,可以用于构建私 ...