在RHEL / CentOS 7上,我正在尝试为文件创建一个新的SE
Linux安全上下文,以支持我正在编写的新服务.
我为我的新服务创建了一个Type Enforcement文件,但我无法创建一个系统将其识别为文件类型的新类型.
我正在基于这个CentOS 5 “Building a local policy module” document工作,它指示我创建一个TE文件,然后使用checkmodule和semodule_package来编译它.
如果我只是写我的TE文件:
type myservice_spool_t;
TE编译得很好,但是当我尝试seconage fcontext时,我得到了这个:
$sudo semanage fcontext -a -t myservice_spool_t "/var/spool/myservice(/.*)?"
ValueError: Type myservice_spool_t is invalid, must be a file or device type
我已经阅读了各种教程,但未能找到一个有效的例子 – 我所看到的一切都是:
>过时 – 例如这个RHEL 4 SELinux documentation page说应该使用myservice_spool_t类型,file_type;但checkmodule说:ERROR’属性file_type未声明’
>不完整 – 例如this answer将让我使用宏file_type()但是checkmodule说:错误’这个块没有require部分.’在令牌’files_type’
>或完全失踪 – 例如除了使用audit2allow之外,RHEL 7的新SELinux指南没有关于如何创建新策略的任何信息.
SELinux project网站完全无用,因为我找不到一个单一的工作示例
我很欣赏一个简单的简洁示例,说明如何编写一个TE文件,该文件引入了一个semanage fcontext将赞同的新类型.
[更新]