SELinux mypol.te ファイルをスクリプト化された semanage コマンドに変換する方法

SELinux mypol.te ファイルをスクリプト化された semanage コマンドに変換する方法

MySQL ログの特殊ログディレクトリを設定します。これを行うには、コマンドを実行する必要があります。

grep mysqld /var/log/audit/audit.log | audit2allow -M mypol

MySQLログディレクトリで検索、開く、書き込みなどを実行できるように、MySQLに複数回権限を付与します。

最終結果はmypol.te次のファイルです。

module mypol 1.0;

require {
    type mysqld_log_t;
    type mysqld_t;
    class dir { write search read remove_name open add_name };
}

#============= mysqld_t ==============
allow mysqld_t mysqld_log_t:dir open;
#!!!! This avc is allowed in the current policy

allow mysqld_t mysqld_log_t:dir { write remove_name search read add_name };

semanageただし、将来のリリースでは、これを自動化するためにスクリプトでこのコマンドを使用したいと思います。

mypol.te上記のコマンドを一連のコマンドに変換する方法がわかりますかsemanage

答え1

いいですね。目標を達成することはできませんが、RPMを構築すると目標を達成できます。シェルスクリプトを作成できるため、RPMは問題になりません。

目的は、mySQLをインストールし、ユーザーを追加する、SELinuxポリシーを追加するなど、インストール後の作業を行うことです。

一般領収書の概要を説明します。 rpmの構築のより良い概要を見つけることができます。ここ

  1. 以下でMySQLスタイルを学びます。mysqlソースミラー- src.rpmのバージョンを見つけてダウンロードしてください。
  2. src.rpmのインストール - SPECファイルが提供されます(mySQL用のソースコードもインストールされます - コンパイル準備完了)。
  3. SEPolicyファイルをソースコードセクションに含める
  4. %configureセクションでは、特定の設定オプションを設定できます。
  5. SEPolicyのコンパイル中に「your」ディレクトリが作成されるように%buildセクションを変更します。
  6. %post-sectionに必要なユーザー/グループをインストールしてください - すでにインストールされている可能性があることを忘れないでください。 - %post-sectionでコンパイルされたSELinux-policyを有効にする
  7. %install -セクションと「あなたの」特別なディレクトリに構築されたモジュールを含みます。

最初のRPMを完了すると、次のRPMは簡単になります。しかし、おそらくこれを別の質問として扱う必要があるかもしれません。 ULで良いものが見つかりませんでした。

関連情報