無料Wikiサービス | デモページ
Linuxなどのメモ書き
検索

Adsense

SELinux 基本編


Rev.25を表示中。最新版はこちら

現在の動作モードの確認

getenforceコマンドにより確認できる。"Enforcing"ならSELinuxが有効。"Permissive"なら抑止されている。"Permissive"の場合、アクセス制御は行われないが、ログの出力は行うので調査時に便利。

# /usr/sbin/getenforce
Enforcing

表示状態
Enforcing有効
Permissive無効(ログは出力)
Disabled無効

一時的にSELinuxの動きを抑止するには

setenforceコマンドにより設定する。再度有効にする場合は引数に1を指定する。
# /usr/sbin/setenforce 0
# /usr/sbin/getenforce
Permissive

起動時の設定を変更する

/etc/sysconfig/selinuxのSELINUXのフィールドにenforcing/permissive/disabledのいずれかを設定しておけば、次回起動時にそのモードで立ち上がる。

プロセスのドメイン/ファイルのタイプの確認

psコマンドで-Zオプションや--contextオプションを指定すると「ユーザ:ロール:ドメイン」の形式で表示される。
# ps -Z
LABEL                             PID TTY          TIME CMD
user_u:system_r:unconfined_t     4814 pts/6    00:00:00 su
root:system_r:unconfined_t       4817 pts/6    00:00:00 bash
root:system_r:unconfined_t       5438 pts/6    00:00:00 adsl-connect
root:system_r:unconfined_t       5736 pts/6    00:00:00 ps

ファイルのラベルを確認する場合もlsに-Zオプションや--contextオプションを与えることで「ユーザ:ロール:タイプ」の形式で表示される。


ログの調査

ログは以下のファイルに吐かれる。
/var/log/audit/audit.log

ログの中で"denied"になっているようなものがあると、SELinuxによってアクセスが拒否されたことを示す。

type=AVC msg=audit(1141465777.865:3330270): avc:  denied  {
search } for  pid=10848 comm="iiimd" name=/ dev=hda3 ino=2 
scontext=root:system_r:i18n_input_t 
tcontext=system_u:object_r:home_root_t tclass=dir

上記のログはiiimdが/にアクセスして拒否されたことを示している。scontextはプロセスのコンテキスト。tcontextはファイルのコンテキスト。


ファイルのタイプの設定

ファイルのタイプは以下のファイルに記述されている。
/etc/selinux/targeted/
                      contexts/files/
                                     file_contexts
                                     file_contexts.homedirs
                      src/policy/file_contexts/*
例:
/home/[^/]*             -d      user_u:object_r:user_home_dir_t
/home/[^/]*/.+                  user_u:object_r:user_home_t

上記のファイルを修正した後、fixfilesコマンドにより再設定できる。
/sbin/fixfiles relabel /home/apache
(/home/apache配下のみ再設定する場合)


関連
SELinux ポリシー設定編


最終更新 2006/04/12 17:11:53 - kztomita
(2006/03/30 22:01:13 作成)