如何使用audit2allow 的现有输出创建SELinux 策略模块?

如何使用audit2allow 的现有输出创建SELinux 策略模块?

我知道创建 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_packageaudit2allow手册页中所述例子:

checkmodule -M -m -o my_module.mod my_module.te
semodule_package -o my_module.pp -m my_module.mod

相关内容