[PHP-users 7518] safe mode and file upload

Toshiyuki Kajii php-users@php.gr.jp
Thu, 16 May 2002 18:39:49 +0900


梶井です。

safe_mode が On の際に、file を upload しようとしているのですが、

Warning: SAFE MODE Restriction in effect. The script whose uid is -1 
is not allowed to access /web/(ディレクトリ)/file owned by uid 1002
 in /web/(ディレクトリ)/upload.php on line 2

というメッセージが出て、upload できません。
safe_mode が Off であれば問題なく動きます。

環境
Debian woody
apache1.3.24(SuExec)
PHP4.2.1 (CGI)

upload.php(php.netのmanualにあるsampleとほぼ同じです)
----------
#!/usr/bin/php
<?php
if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
  copy($_FILES['userfile']['tmp_name'], "file/uploadfile");
}else{
  echo "ファイルアップロード攻撃を受けた可能性があります";
}
?>
----------

upload 時のテンポラリファイルの uid は 1002 でした。
特に「uid is -1」が示すものがなんなのかがわからないでいます。

SuExec についてですが、

./configure --enable-module=rewrite --enable-module=so --enable-shar
ed=max --enable-suexec --suexec-caller=webuser --suexec-uidmin=1000 
--suexec-gidmin=1000 --suexec-docroot=/web --enable-module=log_agent
 --enable-module=log_referer

としています。

何かおわかりになる方がいらっしゃいましたら、ご教示ください。


-------------------------------------------------
  rainboware - net entertainment
  株式会社 レインボウェア
  Tel: 03-5314-3360  Fax: 03-5314-3420
 -----------------------------------------------
  梶井俊幸(Toshiyuki Kajii) kajii@rainboware.jp
-------------------------------------------------