![将规则添加到类型强制 (.te) 文件后重建 SELinux 策略时出错](https://linux22.com/image/229954/%E5%B0%86%E8%A7%84%E5%88%99%E6%B7%BB%E5%8A%A0%E5%88%B0%E7%B1%BB%E5%9E%8B%E5%BC%BA%E5%88%B6%20(.te)%20%E6%96%87%E4%BB%B6%E5%90%8E%E9%87%8D%E5%BB%BA%20SELinux%20%E7%AD%96%E7%95%A5%E6%97%B6%E5%87%BA%E9%94%99.png)
我正在经历这个指导它允许我为应用程序创建自定义 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 };