[PHP-users 12284] Re: unlink によるファイル削除エラー
Yasuo Ohgaki
php-users@php.gr.jp
Fri, 20 Dec 2002 19:13:06 +0900
大垣です。
鈴木 浩之 wrote:
>>もしディレクトリのパーミッションを「777」にしない、
>>その他の方法があればアドバイを御願いします。
>
>
> chown nobody.nobody ファイル・ディレクトリ名
> を試してみてください。
>
> PHPに限らず、CGI・SSIなどApacheから実行されるプログラ
> ムは「nobody」というユーザー権限で実行されます。(デ
> フォルト設定の場合)
>
> したがってファイルの持ち主をnobodyとしてしまえば操作で
> きるのです。
>
> パーミッション 777 だとnobodyからも操作できますが、それ
> 以外の人でも操作できてしまうので危ないです。
> ご注意。
多少、誤解をされているようなのでコメントします。
UNIX系OSの場合、パーミッションが777でもsticky bitをつけ
ていれば安全です。詳しい説明は省略しますが、
ディレクトリのパーミッション
ファイルのオーナー、グループの設定ルール
OSがファイルへのアクセス許可する手順
はディレクトリのパーミッションが777でも安全になるように作られ
ています。さらに詳しくどのようにセキュリティーが確保されている
か興味のある方は、UNIX系OSがどのように/tmpディレクトリのセ
キュリティーを確保しているのか調べてみると良いと思います。
# 特定ユーザーだけでアクセスするのであれば、特定ユーザーを
# オーナーにして適切なパーミッションにする、という方法で事
# 足りますが...
--
Yasuo Ohgaki