将规则添加到类型强制 (.te) 文件后重建 SELinux 策略时出错

将规则添加到类型强制 (.te) 文件后重建 SELinux 策略时出错

我正在经历这个指导它允许我为应用程序创建自定义 SELinux 策略并限制对内核系统文件的无限制访问。

在步骤 9 中,我需要向类型强制文件 (mydaemon.te) 添加规则,并通过运行以下命令重建并重新安装策略mydaemon.sh脚本。不幸的是,我遇到了一个标记“;”处出现错误“未知类型 var_log_t”如下所示。

[ec2-user@ip-172-31-6-46 ~]$ sudo ./mydaemon.sh
Building and Loading Policy
+ make -f /usr/share/selinux/devel/Makefile mydaemon.pp
Compiling targeted mydaemon module
mydaemon.te:26:ERROR 'unknown type var_log_t' at token ';' on line 4010:
    
allow mydaemon_t var_log_t:file { open write getattr };
/usr/bin/checkmodule:  error(s) encountered while parsing configuration
make: *** [/usr/share/selinux/devel/include/Makefile:157: tmp/mydaemon.mod] Error 1
+ exit

我尝试使用另一种类型,例如变量_t,但这也不起作用。

答案1

如果添加allow mydaemon_t var_log_t:file { open write getattr };到类型强制文件中,则还需要在同一文件的 require 部分中添加类型var_log_t和带有 objectfile和 verbs 的类open write getattr

所以它看起来像:

require {
    type mydaemon_t;
    type var_log_t;
    class file { open write getattr };
}

#============= mydaemon_t ==============
allow mydaemon_t var_log_t:file { open write getattr };

相关内容