这篇文章主要记录了我如何学习selinux自订策略的,相关内容在网络上非常零散,自己也走了很多弯路,所以专门写了这么篇文章作为整理。
这里先提一句,关于selinux的配置,网上最容易搜索到的是对selinux程序的配置,例如开关,以及对某种协议的控制,这些内容在我之前整理selinux管理工具种有提到,是相对表面的selinux配置,本文的配置是从编写自定义的策略模块,并装载,因此管理粒度更细。
按照惯例这里先附上一些参考资料的网站
我采用的是centos7环境
在开发selinux策略之前,千万不要忘记安装selinux的开发包
yun install selinux-policy-devel
编写规则其实非常简单,
1.首先准备好一个空的文件夹作为工作目录
2.创建一个.te文件,内容如下,仅作参考
第一句policy_module是一句官方定义好的宏指令
第二句和第三句是定义了两种类型,test1_t为进程类型,test1_exec_t为可执行文件类型
第四句为规则,允许test1_t类型对test1_exec_t类型的文件进行read_file_perms的操作,后者也是个宏指令,包含若干具体操作类型
如果需要引入外部类型或角色需要加入以下内容
gen_require(`
type container_r;
role system_r;')
3.创建一个.fc文件,内容如下