phpについて


レンタルサーバで、例えばあるディレクトリにファイルを生成しようとする際、
そのディレクトリのパーミッションが707でないと生成できないサーバもあれば、
パーミッションに関係なくできるサーバもありますが、
これをあらかじめ確認する方法を教えてください。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2009/11/05 11:56:47
  • 終了:2009/11/12 12:00:02

回答(5件)

id:emu2929 No.1

emu2929回答回数19ベストアンサー獲得回数22009/11/05 12:28:23

ポイント26pt

質問の主旨がよくわからないのですが、

phpスクリプトでファイルを作成するようなロジックを書いた際、

作成されるファイルのパーミッションはどうなるの?

と、言う質問でしょうか?


上記の様な質問だと仮定しての回答ですが、

サーバのOSがlinuxやunixだと仮定すると、

それぞれのユーザにumask値という値があります。

コマンドで

$ umask

と入力すると

0022

のように4桁の数値が表示されるます。

一番左の1桁については別途調べてもらうとして、

左3桁の数値がデフォルトパーミッションからマスクされたものが

そのユーザのデフォルトのパーミッションになります。

仮にapacheユーザのumaskが0022として、

ファイルの場合デフォルトパーミッション666から

022を引いて644がapacheユーザのデフォルトパーミッションに

なります。


全然求められている回答ではないかもしれませんが、

参考になれば幸いです。


参考:

http://www.stackasterisk.jp/tech/engineer/permission01_02.jsp

id:worldtravel

ありがとうございます。

せっかく教えていただいたのに申し訳ありません。

ディレクトリのパーミッションが000でもphpからファイルを生成できるサーバもあれば、707や777にしておかないとファイルを生成できないサーバもあるのですが、そのようなサーバの設定をphpinfo()のような感じで見ることはできないかなと思っています。

php自体も同じで 705、755などとしないと動かないサーバもあれば

そうでないサーバもあります。

その設定をレンタルサーバを借りる自分が確認できないのかなと思っております。

よろしくお願いします。

2009/11/05 12:38:52
id:palo No.2

palo回答回数124ベストアンサー獲得回数142009/11/05 13:31:13

ポイント25pt

サーバの apache の実行ユーザと、対象ディレクトリのディレクトリ所有者が一致していれば、

ディレクトリのパーミッションが700でファイルが生成できるはずです。

違っていれば、707でないと生成できないのでしょう。

 

apache の実行ユーザは、phpinfo() の apache2handler - User/Group で確認できます。

id:worldtravel

ありがとうございます。

2009/11/08 07:59:11
id:emu2929 No.3

emu2929回答回数19ベストアンサー獲得回数22009/11/05 15:18:25

ポイント25pt

>ディレクトリのパーミッションが000でもphpからファイルを生成できるサーバもあれば、707や777にしておかないとファイルを生成できないサーバもあるのですが、


上記の内容をみると、

そもそもパーミッションとはなんぞやということを理解されていないように

思えます。

要するに#2の方が書いておられるように、apacheの実行ユーザとディレクトリのオーナーが

同じか否かです。

共有サーバだとその辺の設定はサーバ会社によりますが、

専用サーバだとSSH等でログインし、設定を変えることでapacheの実行ユーザを設定することも

できると思います。


>php自体も同じで 705、755などとしないと動かないサーバもあれば

>そうでないサーバもあります。


これはPHPスクリプトをCGIとして動作させているか否かによると

思われます。

CGIとして動作させているのであれば実行権限が必要なため、

755や777等のパーミッションを付与してやらないと動作しません。

これについても上記同様httpd.confやphp.iniの設定を変えることで

設定可能です。


http://blog.enjoitech.jp/article/51

id:worldtravel

なるほど!

ありがとうございました。

2009/11/08 08:00:34
id:snow_leopard No.4

snow_leopard回答回数294ベストアンサー獲得回数222009/11/06 01:37:26

ポイント12pt

phpのセーフモードがオンに設定されていると、ディレクトリ作成に際して所有者権限などがうるさくチェックされます。

確認するには、

こう書かれただけのファイルをアップして、読み込ませると、apache, phpの設定が全部表示されます。

id:worldtravel

ありがとうございました。

2009/11/08 08:02:10
id:snow_leopard No.5

snow_leopard回答回数294ベストアンサー獲得回数222009/11/06 01:44:18

ポイント12pt

肝心なところが表示されなかったので、

http://php5.seesaa.net/category/1633936-1.html

phpinfoのところです。

id:worldtravel

ありがとうございました。

2009/11/08 08:02:12

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません