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 を使用します。