SELinuxのポリシーを修正する。

前回の記事でquotaの初期化に失敗した。そこでquotaとSelinuxの絡んだ記事を検索して調べてみた。

その結果 これと言った解決策は見つからなかった。 日本語のページに至っては 「Selinuxを外してしまえ」と言う記事しか見つからなかった。これはもうポリシーを修正するしかねーべって事で Selinuxのポリシーをゴニョゴニョしてみる。

参考URL: http://fdays.blogspot.jp/2010/03/selinux.html

注意: 下記の方法でSelinuxのポリシーを書き換えるのは 最終手段であって 何でもかんでもこの方法を取るべきではないと思う。 今回はquotaとSelinuxの関係で設定する方法が見つからなかったので 最終手段をとった。 Selinuxのその他の設定方法を知りたい人は 上の参考リンクを辿って調べてほしい。

エラーのログを取る。
[bash]
# setenforce 0  !Selinuxを一時的にストップしてエラーログを収集
# quotacheck -avugm !エラーの発生してるコマンドを実行
# setenforce 1 !Selinuxを有効にする
# ausearch -m avc !エラーログを表示する
[/bash]

エラーログはこんな感じ
[bash]
—-
time->Fri Nov 15 09:22:48 2013
type=SYSCALL ・・・セキュリテイ上の理由により以後省略
type=AVC  ・・・・セキュリティ上の理由により以後省略
—-
[/bash]
マイナスで各エラーの項目が区切られてる。各項の行頭の時間で 今回のエラーか以前のエラーか判断して 今回のエラーの項だけ別ファイルにして保存する。

エラーログからセキュリティポリシーを更新する。
[bash]
# audit2allow -M local -i <抜き出したログ>
# semodule -i local.pp
[/bash]
ポリシーの更新が出来たらエラーの発生したコマンドを実行して試してみる。 エラーがまだ出るようだったら このページの振り出しに戻って エラーのログ取りからポリシーの更新を繰り返す。 作業途中で出来たファイル(今回の場合 /home/aquota*)は Selinuxの設定が中途半端なので テスト/設定を繰り返す場合は その都度消してテストするように、残してるといらんエラーが出て迷うよ。

で こんな感じになった。
[bash]
# quotacheck -avugm
quotacheck: Scanning /dev/mapper/vg_psyche-Lv_home [/home] done
quotacheck: Cannot stat old user quota file: そのようなファイルやディレクトリはありません
quotacheck: Cannot stat old group quota file: そのようなファイルやディレクトリはありません
quotacheck: Cannot stat old user quota file: そのようなファイルやディレクトリはありません
quotacheck: Cannot stat old group quota file: そのようなファイルやディレクトリはありません
quotacheck: Checked 18870 directories and 317891 files
quotacheck: Old file not found.
quotacheck: Old file not found.
[/bash]
結局の所 quotaに関してSelinuxのセキュリティ度が低くなってしまうと言うことなのだが・・・ 動かないとしょうがないので これで良しとする。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.