2014年12月6日土曜日

PHP から作ったファイルが他のセッションから見えない

Fedora20, Apache 2.4.10, PHP5.5 な環境なんだけど、例えばこんな↓
ことして Apache からアクセスして /var/tmp/foo.txt とか作ってみる。

 <?php
  system("echo abc > /var/tmp/foo.txt");
  print("OK");
?>

でも、ターミナル等からは /var/tmp/foo.txt が見えない。
PHP からなら見える。で、Apache を再起動すると PHP からも見えなくなる。

おそらく mod_php がプログラムからのファイル作成をフックしてあらかじめ
unlink() してるんだろうと思い Apache 起動中に lsof で確認してみたが、
foo.txt は deleted な状態でも open されていない。

この動き不思議すぎるわ。selinux を disabled にしても同じ。
いったいなんじゃこれ。

0 件のコメント:

コメントを投稿