Next: 8 Simplified Policyの基礎知識
Up: SELinux Policy Editor(seedit)管理ガイド(マニュアル) 2.1
Previous: 6 次に何をすればいいの?
Contents
Subsections
7 アプリケーションに対するSELinux保護を無効に
アプリケーションに対するSELinux保護を無効にする方法は2つあります。
booleanパラメータを使う方法と、ポリシーファイルを移動する方法です。
ここで「アプリケーションに対するSELinux保護を無効にする」と言っています
が、
前述のunconfinedドメインを割り当てることにより、SELinuxのアクセス制御が
全部許可されるようにする、という意味です。
GUIおよびコマンドから作業することができます。
7.1 GUI(ドメイン管理ツール)
GUIから作業するには、 コントロールパネルからドメインを管理を選択し
ます。
seedit
ドメイン・ロール管理というウィンドウが開きます(図5)。 ドメインを削除タブを選択します。
Figure 5:
ドメイン管理ツール
|
アプリケーションのSELinux保護を無効にする最も簡単な方法は、以下のステッ
プでドメインを一時的に無効にすることです。
- 無効にしたいドメインを選択
- 一時的に無効 ラジオボタンを選択
- 適用 ボタンを押す
Apache Webサーバにunconfineドメインを割り当てたい場合を見てみま
す。
Apacheにはhttpd_tドメインが割り当てられていますので、 httpd_tを
選択し、 適用ボタンを押します。
Apacheを再起動し、 ステータス GUIから確認すると、ドメインとしてUnconfined(initrc_t) が表示されます。
もう一度動作を制限するには、 一時的に無効にされたドメインを有効にす
るからドメインを選択し、 適用 ボタンを押します。
ちなみに、これらの操作は内部的にはSELinuxのbooleanを使っています。詳細を
知りたい人はコマンドラインから操作してみるといいでしょう。
アプリケーションのSELinux保護を無効にするもう一つの方法は、次の手順のよ
うにドメインの設
定ファイルを除去することです。
- 無効にしたいドメインを選択
- 完全に削除 を選択
- 適用ボタンを押す
しかし、元に戻したい場合は、手作業でやらなくてはなりません。
- cd /etc/seedit/policy
- mv /etc/seedit/policy/extras/ドメインの名前.sp
/etc/seedit/policy/ドメインの名前.sp
- seedit-load
- ドメインを削除したサービスを再起動
この方法の良い点は,変換後のSELinuxのポリシーのサイズが小さくなることぐ
らいです。
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
ドメインが設定されているファイルは、
/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
2007-02-13