4.12. 优先处理和禁用 SELinux 策略模块
/etc/selinux/
中的 SELinux 模块存储允许在 SELinux 模块中使用优先级。以 root 用户身份输入以下命令显示两个具有不同优先级的模块目录:
~]#
ls /etc/selinux/targeted/active/modules
100 400 disabled
虽然 semodule 实用程序使用的默认优先级是 400,selinux-policy 软件包中使用的优先级为 100,因此您可以找到优先级 100 的大多数 SELinux 模块。
您可以使用具有相同名称且具有更高优先级的修改模块覆盖现有模块。如果有更多模块具有相同名称和不同优先级,则构建策略时仅使用优先级最高的模块。
例 4.1. 使用 SELinux 策略模块优先级
使用修改的文件上下文准备新模块。使用 semodule -i 命令安装模块,并将模块的优先级设置为 400。以下示例中使用
sandbox.pp
。
~]#
semodule -X 400 -i sandbox.pp~]#
semodule --list-modules=full | grep sandbox 400 sandbox pp 100 sandbox pp
要返回默认模块,请以 root 用户输入 semodule -r 命令:
~]#
semodule -X 400 -r sandbox
libsemanage.semanage_direct_remove_key: sandbox module at priority 100 is now active.
禁用系统策略模块
要禁用
系统策略模块
,请以 root 用户身份输入以下命令:
semodule -d MODULE_NAME
警告
如果您使用 semodule -r 命令删除
系统策略模块
,它将在系统的存储中删除,您无法再次加载它。为了避免对 selinux-policy-targeted 软件包进行不必要的重新安装,以恢复 所有系统策略模块
,请使用 semodule -d 命令。