SELinux 策略开发全解析
1. SELinux 策略开发新方面
在 SELinux 策略开发中,有三个重要的新方面:
- 创建名为mylogging.te的策略源文件。
- 构建生成的二进制策略模块mylogging.pp。
- 将二进制策略文件mylogging.pp添加到系统的活动策略存储中。
最后,将文件提交到本地仓库。建议对策略文件使用版本控制,以便跟踪随时间的变化。给策略的新版本打标签是个好方法,如果用户报告策略问题,可以通过semodule –l询问他们的 SELinux 策略模块版本,并使用仓库中的标签轻松找到该特定策略模块的规则。
2. 策略源文件
创建的策略源文件mylogging.te包含原始的 SELinux 策略规则。mylogging这个名称并非随机选择,通常最佳实践是自定义模块以my开头,后面跟着要增强内容的 SELinux 策略模块名称(这里是与系统日志相关的日志模块)。.te后缀不仅是惯例(指 SELinux 的类型强制部分),构建系统也需要这个后缀。
策略模块规则以policy_module(…)调用开始,它告诉构建系统该文件将成为具有给定名称和版本的可加载 SELinux 策略模块。使用semodule –l命令列出当前加载的所有