apache&suEXEC

前から「suexecってどうなのかなー」って思ってたのでPlamo機で実験してみた。
ソースはapache_1.3.28でやってみた。


/configure --server-uid=www --server-gid=www
--with-perl=/usr/bin/perl --enable-suexec
--suexec-caller=www --suexec-uidmin=100
--suexec-gidmin=100 --suexec-userdir=public_html
--suexec-docroot=/home
--suexec-logfile=/var/log/apache/suexec.log
--suexec-umask=077
Makefileを作り、なんとかインストール完了。
httpd.confを書き換え、起動。

  • /usr/local/apache/logs/error_log


[Sun Sep 14 14:43:56 2003] [notice] suEXEC mechanism enabled (wrapper: /usr/loca
l/apache/bin/suexec)
ちゃんとsuexeは働いてる模様。
付属のテストCGI,printenv,test_cgiも問題なく動くことを確認。
本命のCGIであるちょこっとエディタを設置し、アクセスするがエラーが出る。
SuEXEC サポートを見ながらパーミッションを変更してみるがどうもうまくいかない。
ということはこれが原因か、、、

4. 対象のプログラムが安全でない階層の参照をしているか?
対象のプログラムが '/' から始まる、または '..' による参照を行なっていますか? これらは許可されません。 対象のプログラムは Apache の web 空間内になければなりません。

プログラム中で"/"や".."を使ったパスがあるとエラーになるらしい。
でもこれだとプログラム以下のディレクトリしか参照できないんじゃないかな。
ってことは使えるCGIがかなり限定されてしまう気がする。
うーん、セキュリティのためとはいえコレは使わなくてもいいか、、、(ややこしいしぃ)