Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.12. SELinux ポリシーモジュールの優先付けと無効化

/etc/selinux/ の SELinux モジュールストレージでは、SELinux モジュールで優先度を使用できます。root で次のコマンドを実行すると、異なる優先度の 2 つのモジュールディレクトリーが表示されます。
~]# ls /etc/selinux/targeted/active/modules
100  400  disabled
semodule ユーティリティーで使用されるデフォルトの優先度は 400 ですが、selinux-policy パッケージで使用される優先度は 100 であるため、優先度 100 でインストールされたほとんどの SELinux モジュールを見つけることができます。
優先度を上げると、同じ名前で修正されたモジュールで、既存のモジュールを上書きできます。同じ名前と異なる優先度を持つモジュールが多い場合にポリシーを構築すると、最も高い優先度を持つモジュールのみが使用されます。

例4.1 SELinux ポリシーモジュールの優先度の使用

変更したファイルコンテキストを持つ新しいモジュールを準備します。semodule -i コマンドでモジュールをインストールし、モジュールの優先度を 400 に設定します。以下の例では sandbox.pp を使用します。
~]# semodule -X 400 -i sandbox.pp
~]# semodule --list-modules=full | grep sandbox
400 sandbox           pp
100 sandbox           pp
デフォルトモジュールに戻すには、root で semodule -r コマンドを実行します。
~]# semodule -X 400 -r sandbox
libsemanage.semanage_direct_remove_key: sandbox module at priority 100 is now active.

システムポリシーモジュールの無効化

system policy を無効にするには、root で以下のコマンドを実行します。
semodule -d MODULE_NAME
警告
semodule -r コマンドを使用して system policy モジュールを削除すると、システムのストレージから削除されるため、再度読み込むことができません。すべてのsystem policy モジュールを復元するために、selinux-policy-targeted パッケージが不必要に再インストールされないようにするには、代わりにsemodule -d を使用します。