从 CIL 创建自定义 SELinux 文件上下文/类型

从 CIL 创建自定义 SELinux 文件上下文/类型

我想从我的 SELinux 模块(使用 CIL 语法编写)创建一个新的上下文,然后将其用于我的应用程序的日志文件,以便 logrotate 可以访问它。但是,当我尝试使用semodule -i包含以下内容的文件时:

(type indico_log_t)
(typeattributeset file_type (indico_log_t))
(typeattributeset logfile (indico_log_t))

(filecon "/opt/indico/log/.*\.log" any (system_u object_r indico_log_t ((s0)(s0))))

我收到此错误:

Type indico_log_t is invalid for role object_r
Invalid context
Invalid filecon at /etc/selinux/targeted/tmp/modules/400/indico-new/cil:5
Failed to verify cil database
Failed to verify cil database
semodule:  Failed!

我做错了什么吗?是否有不同的方法来创建可用于文件的新类型?

FWIW,如果我删除最后一行,我可以安装该模块,但chcon不接受类型(chcon: invalid context: indico_log_t)。

答案1

您需要使用 roletype 来允许类型与角色关联。

(roletype object_r indico_log_t)

相关内容