我正在经历这个指导它允许我为应用程序创建自定义 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 };