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

Adsense

SELinux 基本編 の差分
Rev.26→Rev.27  追加箇所 削除箇所


現在の動作モードの確認

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はファイルのコンテキスト。




関連
SELinux ファイルタイプ設定編
SELinux ポリシー設定編

ファイルのタイプの設定ファイルのタイプは以下のファイルに記述されている。 /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 ポリシー設定編