うまいぼうぶろぐ

linuxとhttpdとperlのメモ

RHEL yum でinstallしたapache はLoadModuleからsuexec_module を決しても/usr/sbin/suexecがあるとsuexecが有効になるみたい

# source installした場合は試してない。

httpd.conf (or includeされているその他のfile)でloadmoduleしている場合

$ grep suexec httpd.conf
LoadModule suexec_module modules/mod_suexec.so
$ httpd -M 2>&1  | grep suexec
suexec_module (shared)

起動時のerror_log にこんなん出る。

[notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

ちょっと確認したいことがあったのでloadmoduleをコメントsuexecを無効にして、apachectl stop, start。

$ grep suexec httpd.conf
#LoadModule suexec_module modules/mod_suexec.so
$ httpd -M 2>&1  | grep suexec
||<	
起動時のerror_log にsuEXECの文字は出てこない。

が、実際にcgiにアクセスするとsuexecのpolicy違反で500 internal server errorになった。
>||
suexec policy violation: see suexec log for more details
Premature end of script headers: hoge.cgi

suEXEC を無効にする場合は、suexec ファイルを削除してから Apache を kill して再起動します。

と書いてあるけど削除すると戻せなくなるので、mvしてrenameしといた。

# mv /usr/sbin/suexec /usr/sbin/susexec.org
# apachectl stop
# apachectl start