Movable TypeとSE Linux

Movable Typeでプラグインを使おうと、メイン・メニュー→システム・メニュー→プラグインと辿るが
『ブログ別に設定するプラグインは見つかりません。』

という表示がでて埒も明かない。こういう場合はSE Linuxが悪さをしていることが多いので

[root@www ~]#setenforce 0

として再度やってみると、ちゃんとプラグインの一覧が出る。やはりSE Linuxが悪いらしい。

/var/log/audit/audit.logには以下のようなログが出ていて、mt.cgがpluginsディレクトリを読めていないことがわかる。

type=AVC msg=audit(1183870655.847:4287): avc: denied { read } for pid=20284 comm="mt.cgi" name="plugins" dev=dm-0 ino=1215586 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=system_u:object_r:httpd_sys_script_exec_t:s0 tclass=dir type=SYSCALL msg=audit(1183870655.847:4287): arch=40000003 syscall=5 success=no exit=-13 a0=93fdd18 a1=18800 a2=80 a3=94062e8 items=0 ppid=24108 pid=20284 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) comm="mt.cgi" exe="/usr/bin/perl" subj=system_u:system_r:httpd_sys_script_t:s0 key=(null)

ここで上記のアクセスを許可するポリシーを書こうと思っていろいろ調べたのだが、参考図書やWeb上には/etc/selinux/targeted/src/○×.teを書き換える云々のと書いてあるが、このファイルが見つからず
yum install selinux-policy-sourceをやってみてもそんなパッケージはないと言われる。

いろいろやった後、man audit2allowを見ると、下記のコマンドで拒否されたアクセスを軒並み許可できるようなのでやってみた。

[root@www ~]# cat /var/log/audit/audit.log | audit2allow -M local
[root@www ~]# semodule -i local.pp

結果、ちゃんとプラグインの一覧が表示された。

[root@www ~]# semodule -l
とやるとインストールされているモジュールの一覧が出て、ちゃんとlocalもあった。

【懸念事項1】この方法だと何でもかんでも許可してしまうのでセキュリティが甘くなる。ちゃんと必要なポリシーを精査する方法、複数のポリシーを管理する方法はいずれ調べよう。

【懸念事項2】再起動しても大丈夫か?いずれちゃんと調べよう。