本文内容参考:
semodule(8) - Linux manual page
https://linux.die.net/man/8/semodule
1. 介绍
- 名称
semoudule —— 管理SELinux策略模块。
- 简介
semodule [options]... MODE [MODES]...
- 描述
semodule是用于管理SELinux策略模块的工具,包括安装、升级、列出和删除模块。semodule还可以用于强制从模块存储中重建策略和/或强制重新加载策略而不执行任何其它事务。semodule作用于semodule_package创建的模块包。按照惯例,这些文件有一个.pp后缀(策略包),尽管这不是强制性的。
- 选项
-R, --reload
force a reload of policy。
-B, --build
强制重新生成策略(除非使用-n,否则也会重新加载)。
-D, --disable_dontaudit
暂时从策略中删除dontaudits,每当重新生成策略时恢复(还原)。
-i,--install=MODULE_PKG
安装/更换模块包。
-u,--upgrade=MODULE_PKG
升级现有模块包,或者如果模块不存在则进行安装。
-b,--base=MODULE_PKG
安装/更换基本模块包。
-d,--disable=MODULE_NAME
禁用现有模块。
-e,--enable=MODULE_NAME
启用现有模块。
-r,--remove=MODULE_NAME
删除现有模块。
-l,--list-modules
显示已安装模块的列表(基本模块除外)。
-s,--store
要操作的存储的名称。
-n,--noreload
提交后不重新加载策略。
-h,--help
打印帮助信息并退出。
-v,--verbose
2. 示例
(1)安装或替换基本策略包
# Install or replace a base policy package.
$ semodule -b base.pp
(2)安装或替换非基本策略包
# Install or replace a non-base policy package.
$ semodule -i httpd.pp
(3)列出非基本模块(显示已安装的非基本模块)
# List non-base modules.
$ semodule -l
(4)打开(开启)SELinux当前为其“dontaudit”的所有AVC消息
# Turn on all AVC Messages for which SELinux currently is "dontaudit"ing.
$ semodule -DB
(5)重新启用“dontaudit”规则
# Turn "dontaudit" rules back on.
$ semodule -B
(6)安装或替换当前目录中的所有非基本模块
# Install or replace all non-base modules in the current directory.
$ semodule -i *.pp
(7)安装或替换当前目录中的所有模块
# Install or replace all modules in the current directory.
$ ls *.pp | grep -Ev "base.pp|enableaudit.pp" | xargs /usr/sbin/semodule -b base.pp -i