memo

ちょっとしたメモ書き(個別表示)

SELinuxメモ : (2008/12/02)
SELinux関連だけど、CGIスクリプトが動作しない場合は以下の設定を見直す
getsebool -a | grep httpd

もしhttpd_enable_cgiとhttpd_enable_homedirsがoffになっていたら以下のコマンドを打ち込んでonにする。

setsebool httpd_enable_cgi 1
setsebool httpd_enable_homedirs 1
(-Pオプションを付ければ、再起動後も設定が残る)

httpd_enable_homedirsに関しては必須ではないかもしれないが、
自分の環境ではこれをoffにするとCGIスクリプトが動作しなかった。
これに関しては他の要因がありそうなので要調査。


さらに、各コンテンツのラベルを変更

静的コンテンツは
chcon -t httpd_sys_content_t ファイル名

書き込み可能なファイルは
chcon -t httpd_sys_content_rw_t ファイル名

CGIスクリプトのような実行可能なファイルは
chcon -t httpd_sys_script_exec_t ファイル名

非SELinux環境で問題なく動作するようApacheと各コンテンツが設定されているなら、あとは上記項目を見直せばSELinux環境でも動く(はず?)

ついでにSELinux絡みの別の問題について。
共有ライブラリ(soファイル等)のラベルも確認する必要があるかもしれない。
これは「textrel_shlib_t」となる。
これに関してはコマンドラインから実行した場合に「Permission denied」と言われるのですぐ気がつくと思うが。


しかし率直な感想を言うと「SELinuxめんどくさい」の一言に尽きる。
慣れればそうでもないんだろうか?

ちなみにSELinuxをOFFにするなら以下のような感じで
setenforce 0
ただし設定ファイルを書き換えておかないと、再起動したときに元に戻るので注意。

: back