« NONDRINKING | メイン | 本日の体操 »

2005年06月07日

[技術] Apache2.0で、ユーザDIR下でのCGI実行

Apache2.0の場合、SuExecという機構がデフォルトで働いている。

そのSuExecは、ユーザDIR以下で実行するCGIをそのユーザ権限で実行することでセキュリティ向上を図るもの。

で、このSuExecのコンパイル時の設定が以下のようになっていて、ディレクトリ名がpublic_htmlと固定されている。

[root@localhost cgi-bin]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[root@localhost cgi-bin]#

これを、Apacheの設定(httpd.conf)で、UserDirをデフォルトのpublic_htmlからwwwに変更していると、/home/user/wwwでCGIが実行できず、以下のようにエラーになります。

[Tue Jun 07 16:44:18 2005] [error] [client 192.168.0.67] Premature end of script
headers: test3.cgi

仕方がないので、とりあえず、httpd.confのUserDirをpublic_htmlに戻しました。

投稿者 nekobara : 2005年06月07日 22:45


トラックバック

このエントリーのトラックバックURL:
http://www.ishihara.ne.jp/mt/mt-tb.cgi/308

コメント