我知道创建 SELinux 策略模块的标准方法,例如
cat <auditlog_file> | audit2allow -M <module_name>
why
但是,如果我只有audit2allow 的输出,例如,有没有办法创建策略模块
cat <auditlog_file> | audit2allow
给我:
#============= httpd_t ==============
allow httpd_t default_t:sock_file write;
allow httpd_t unconfined_t:unix_stream_socket connectto;
如果我有上述输出但无法再次捕获审核日志文件并运行它,如何创建策略audit2allow -M
?
答案1
您可以将输出放入.te
文件中。此外,您还需要几行,module
并且require
声明。您需要使用语句定义模块名称和版本以及语句module
中所需的类型。require
module my_module 1.0.0;
require {
class sock_file { write };
class unix_stream_socket { connectto };
type httpd_t, default_t, unconfined_t;
}
allow httpd_t default_t:sock_file write;
allow httpd_t unconfined_t:unix_stream_socket connectto;
checkmodule
然后,您可以使用 和 来编译和构建策略模块,semodule_package
如audit2allow
手册页中所述例子:
checkmodule -M -m -o my_module.mod my_module.te
semodule_package -o my_module.pp -m my_module.mod