PHPのパーミッション関連(heteml) : PHP

Pocket

PHPのファイル関連の処理でパーミッションのメモ。

ユーザー権限の前提

  • ファイルのオーナー: hetemlアカウント(以下foo)
  • Apache実行ユーザー: apache
    実行ユーザーはhttpd.confのUserディレクティブで設定する。
    hetemlはhttpd.confを確認できないのでとりあえずapacheで考える。
    ※Apacheの実行ユーザーはhetemlアカウント(foo)とは異なる。
  • PHP実行ユーザー: hetemlアカウント(foo)
    (hetemlはPHPをCGI版で動かしている:Server API : CGI)
    PHPがモジュールで動くときはApacheユーザー(apache)がPHPファイルを処理する。

HTTPリクエスト対する実行ユーザー

  • HTMLファイル: apache。
  • PHPファイル: foo

処理に必要なパーミッション

  • HTMLファイルの表示
    • ファイル
      「その他」に読込権限があればよい(004)。
      ApacheがHTMLファイルを読み込み表示処理する(ユーザーapache)。
    • 親ディレクトリ
      「その他」に実行権限であればよい(001)。
  • PHPファイルの実行
    • 「オーナー」に読込権限があればよい(400)。
      PHP本体がPHPファイルを読み込んで処理する。
      [http://questionbox.jp.msn.com/qa3699408.html](パーミッションについて 読取権限と実行権限の違い – 質問・相談ならMSN相談箱)
      ユーザーfooが実行。
    • 親ディレクトリ
      「オーナー」、「その他」に実行権限があればよい(101)。
  • PHPファイルの作成・削除
    親ディレクトリの「オーナー」の権限が読み・書き・実行可能(700)ならファイルを作成・削除できる。

hetemlはたぶんHTMLファイルとPHPファイルを実行・作成・削除はディレクトリのパーミッションが701であればいい?

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。