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