5.2. SELinux ポリシーモジュールの生成: sepolicy generate

以前のバージョンの Red Hat Enterprise Linux では、SELinux ポリシーの生成に sepolgen または selinux-polgengui ユーティリティーが使われていました。これらのツールは、sepolicy スイートに統合されました。Red Hat Enterprise Linux 7 では、sepolicy generate コマンドを使って最初の SELinux ポリシーモジュールテンプレートを生成します。
sepolgen とは異なり、sepolicy generate は root ユーザーで実行する必要はありません。このユーティリティーは RPM 仕様ファイルも作成します。これは、ポリシーパッケージファイル (NAME.pp) およびインターフェースファイル (NAME.if) を正しい場所にインストールし、SELinux ポリシーのカーネルへのインストールを提供し、ラベルの修正を行う RPM パッケージの構築に使用することができます。設定スクリプトが SELinux ポリシーのインストールを継続し、ラベリングを設定します。さらに、sepolicy manpage コマンドを使うと、インストールされたポリシーに基づいた man ページが生成されます[7]。最後に、sepolicy generate は SELinux ポリシーと man ページを RPM パッケージに構築、コンパイルして、他のシステムにインストールする用意をします。
sepolicy generate が実行されると、以下のファイルが作成されます。
NAME.te: タイプ強制ファイル
このファイルは、特定のドメインにおけるタイプおよびルールすべてを定義します。
NAME.if: インターフェースファイル
このファイルは、システム用にデフォルトのファイルコンテキストを定義します。NAME.te ファイル内で作成されたファイルタイプを取り、ファイルパスをタイプに関連付けます。restoreconrpm といったユーティリティーは、これらのパスを使ってラベルを書き込みます。
NAME_selinux.spec: RPM 仕様ファイル
このファイルは、SELinux ポリシーをインストールし、ラベル付けを設定する RPM 仕様ファイルです。また、インターフェースファイルとポリシーを記述する man ページもインストールします。sepolicy manpage -d NAME コマンドを使うと man ページを生成することができます。
NAME.sh: ヘルパーシェルスクリプト
このスクリプトは、システム上のラベル付けをコンパイル、インストール、修正する手助けとなります。また、インストールされたポリシーに基づいた man ページを生成し、他のシステムにインストールできる RPM パッケージをコンパイル、構築します。
SELinux ポリシーモジュールを生成できる場合は、sepolicy generate はソースドメインからターゲットドメインへの生成されたすべてのパスをプリントアウトします。sepolicy generate についての詳細は、sepolicy-generate(8) の man ページを参照してください。


[7] sepolicy manpage についての詳細は、「Man ページの生成: sepolicy manpageを参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。