« 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