next up previous contents
Next: 8 Simplified Policyの基礎知識 Up: SELinux Policy Editor(seedit)管理ガイド(マニュアル) 2.0 Previous: 6 次に何をすればいいの?   Contents

Subsections


7 アプリケーションに対するSELinux保護を無効に

アプリケーションに対するSELinux保護を無効にする方法は2つあります。 booleanパラメータを使う方法と、ポリシーファイルを移動する方法です。 ここで「アプリケーションに対するSELinux保護を無効にする」と言っています が、 前述のunconfinedドメインを割り当てることにより、SELinuxのアクセス制御が 全部許可されるようにする、という意味です。 GUIおよびコマンドから作業することができます。


7.1 GUI(ドメイン管理ツール)

GUIから作業するには、 コントロールパネルからドメインを管理を選択し ます。
seedit ドメイン・ロール管理というウィンドウが開きます(図5)。 ドメインを削除タブを選択します。

Figure 5: ドメイン管理ツール
Image manage-delete

7.1.1 方法1:一時的に無効に

アプリケーションのSELinux保護を無効にする最も簡単な方法は、以下のステッ プでドメインを一時的に無効にすることです。
  1. 無効にしたいドメインを選択
  2. 一時的に無効 ラジオボタンを選択
  3. 適用 ボタンを押す
Apache Webサーバにunconfineドメインを割り当てたい場合を見てみま す。 Apacheにはhttpd_tドメインが割り当てられていますので、 httpd_tを 選択し、 適用ボタンを押します。 Apacheを再起動し、 ステータス GUIから確認すると、ドメインとしてUnconfined(initrc_t) が表示されます。
もう一度動作を制限するには、 一時的に無効にされたドメインを有効にす るからドメインを選択し、  適用 ボタンを押します。
ちなみに、これらの操作は内部的にはSELinuxのbooleanを使っています。詳細を 知りたい人はコマンドラインから操作してみるといいでしょう。

7.1.2 方法2:ドメインを削除

アプリケーションのSELinux保護を無効にするもう一つの方法は、次の手順のよ うにドメインの設 定ファイルを除去することです。
  1. 無効にしたいドメインを選択
  2. 完全に削除 を選択
  3. 適用ボタンを押す
しかし、元に戻したい場合は、手作業でやらなくてはなりません。
  1. cd /etc/seedit/policy
  2. mv /etc/seedit/policy/extras/ドメインの名前.sp /etc/seedit/policy/ドメインの名前.sp
  3. seedit-load
  4. ドメインを削除したサービスを再起動
この方法の良い点は,変換後のSELinuxのポリシーのサイズが小さくなることぐ らいです。

7.2 コマンドライン

7.2.1 方法1:booleanパラメータを使う

SELinuxのbooleanパラメータ(条件変数とも呼ばれます)を知っているのならば、 簡単にできます。 例えば、Apacheの場合、 httpd_tドメインが割り当てられていますので、 httpd_disable_transをonにして、Apacheを再起動するだけです。 再起動するのは、ドメインの割り当ては実行ファイルの実行のタイミングで起こ るためです。httpd_tドメインというドメインが割り当てられてるのを、 unconfinedなドメイン(この場合initrc_t)を割り当てるようになります。割り 当てたいドメイン名が変わるので、Apacheを再起動する必要があります。

実行例:
# setsebool -P httpd_disable_trans 1
# /etc/init.d/httpd restart
# seedit-unconfined -e
Current SELinux mode: enforcing
PID     Comm    Domain
1111     httpd    Unconfined(initrc_t)
元に戻したいときは、booleanをoffにします。
Example: 
# setsebool -P httpd_disable_trans 0
# /etc/init.d/httpd restart
# seedit-unconfined -e
Current SELinux mode: enforcing
PID     Comm    Domain
1111     httpd   Confined by httpd_t domain

7.2.2 方法2:ポリシーファイルを移動する

ドメインが設定されているファイルは、 /etc/seedit/policy/ドメイン名.sp. というファイルです。/etc/seedit/policyディレクトリ以外にある設定は無効に なります。この振舞を利用し、ファイルを別のディレクトリに移動して、設定を反映 し直し、アプリを再起動すればOKです。
実行例: 
ApacheのSELinux保護を無効に
# cd /etc/seedit/policy
# mkdir unused
# mv httpd_t.sp unused
# seedit-load
# /etc/init.d/httpd restart
# seedit-unconfined -e
Current SELinux mode: enforcing
PID     Comm    Domain
1111     httpd    Unconfined(initrc_t)
元に戻したい場合は、/etc/seedit/policyディレクトリに再度移動し、設定を反 映します。
Example: 
# cd /etc/seedit/policy
# mv unused/httpd_t.sp .
# seedit-load
# /etc/init.d/httpd restart
# seedit-unconfined -e
...


Yuichi Nakamura 2006-10-27