suExec
userdir の場合に限定すると、
- 対象となる CGI およびそれが収まっているディレクトリの owner が本人
- またそのディレクトリおよびファイルが owner 以外に +w になっていない
ことが条件。
user の部分以外は 6 以上の permission(writable)は許可されない。
755 とか 644 かそれ以上に厳しい permission にしなさいと。module mode の PHP に慣れちゃうとつい忘れる。1つーか Apache.org の配布では標準では disable なのよね、これ。Debian がデフォルトで enable になってるから戸惑ったのか。複数の環境を使うのって勉強になるな。
module mode の PHP では
secure mode を設定する。secure mode はどの程度 secure にするか細かく設定できるので、例えば普段の開発は緩めに、動作検証ではきつめになどの設定変更が可能。まぁそれ言ったら Apache の設定次第で CGI の動作も変わるんだから同じっちゃ同じなのか。開発環境は普段 suExec が disable の方が使いやすいのかもな。
CGI モードの PHP なら同じ制限になる。 ↩