[最終更新:2006/12/11]
HTTP サーバーの設定が、今度の SELinux では一番難解だった。とりあえず公開できるところまできてはいるが、これからも覚えることはいっぱい。ところで、ここでの目標はデフォルトのディレクトリー /var/www/html で運用すること。一般ユーザーでの公開は諸先輩方の情報を参考にしてほしい。
|
DirectoryIndex index.php index.html index.htm.var ←トップページのファイルを追加。 <Directory "/var/www/html"> (略) Options ExecCGI Indexes FollowSymLinks ← CGI の実行を許可。 (略) </Directory> #AddDfefaultCharset UTF-8 ←#を付けて、デフォルト言語を使用できないように設定。 AddHandler cgi-script .cgi .pl ←#をはずし、CGIとして、cgiとplの拡張子を持つファイルとする。 :wq ←保存して終了 |
この時点では、ブラウザによってアクセスすると CGI 以外は正常に表示。従来のパーミッション(所有者はなにできる・・・・という設定で、DAC (任意アクセス制御)と称するようである。)の設定は、終了しているが、カウンターとして利用している dream.cgi の表示は、ERROR と表示された。
そこで、エラーログを確認してみると。
# vi /var/log/messages
| type=AVC msg=audit(1164375001.574:210): avc: denied { write } for pid=4653 comm="dream.cgi" name="index.dat" dev=dm-0 ino=557557 scontext=root:system_r:httpd_sys_script_t tcontext=root:object_r:httpd_sys_script_exec_t tclass=file |
この意味は、dream.cgi が index.dat という file に書き込みしようとしたが、httpd_sys_script_t というドメインには、httpd_sys_script_exec_t というタイプに書き込みする権限がないということらしい・・・。
これが、例の SELinux の働きで、詳しくは、別に記載することとするが、ここはとりあえず、httpd_sys_script_t ドメインが書き込みできるよう、index.dat のタイプを変更する