5.2. 生成 SELinux 策略模块:se policy generate
在以前的 Red Hat Enterprise Linux 版本中,
sepolgen
或 selinux-polgengui
工具用于生成 SELinux 策略。这些工具已合并到 sepolicy
套件中。在 Red Hat Enterprise Linux 7 中,sepolicy generate
命令用于生成初始 SELinux 策略模块模板。
与
sepolgen
不同,不需要以 root 用户身份运行 sepolicy generate。这个工具还会创建一个 RPM spec 文件,它可用于构建 RPM 软件包,该软件包将策略软件包文件(NAME.pp
)和接口文件(NAME.if
)安装到正确的位置,提供 SELinux 策略安装到内核中,并修复标签。设置脚本将继续安装 SELinux 策略并设置标签。此外,使用 sepolicy manpage 命令生成基于已安装策略的手册页。[7] 最后,sepolicy 生成 构建并编译 SELinux 策略以及手册页到 RPM 软件包中,准备好安装到其他系统上。
执行
sepolicy generate
时,会生成以下文件:
NAME.te
- type enforcing file- 此文件定义特定域的所有类型和规则。
NAME.if
- interface file- 此文件定义系统的默认文件上下文。它使用
NAME.te
文件中创建的文件类型,并将文件路径与类型相关联。restorecon
和rpm
等实用程序使用这些路径来写入标签。 NAME_selinux.spec
- RPM spec file- 此文件是一个 RPM spec 文件,可安装 SELinux 策略并设置标签。此文件还会安装 interface 文件和描述策略的 man page。您可以使用 sepolicy manpage -d NAME 命令生成 man page。
NAME.sh
- helper shell 脚本- 此脚本有助于在系统上编译、安装和修复标记。它还会根据安装的策略生成 man page,编译和构建适合在其他系统上安装的 RPM 软件包。
如果可以生成 SELinux
策略模块,sepolicy generate
会将源域生成的所有路径输出到目标域。有关 sepolicy 生成
的详情,请查看 sepolicy-generate(8) 手册页。