• 締切済み

パーミッションの Owner、Group、Other とは?

パーミッションの Owner、Group、Other について「ファイル・ディレクトリの所有者」とか「そのグループ」「その他の第三者」と説明されていますが、具体的にどういう者のことか分かりません。 使用環境は以下の通りです。 ・共有レンタルサーバ(ロリポップ)利用 ・Apache2.x ・PHP5(CGI版) ・suEXECが動作している Q.1 「 Owner・Group・Other 」の違いは、ファイルやフォルダにアクセスする経路の違いのことですか? Q.2 「ファイル・ディレクトリの所有者(Owner)」とは具体的に誰を指すのでしょうか?どこからアクセスする者のことですか? Q.3 設定や環境によってApacheがOwnerになる場合があるようですが、上記環境では自分のみがOwnerと考えて問題ありませんか? Q.4 上記環境において「ファイル・ディレクトリの所有者が属しているグループ(Group)」とは、同一サーバを利用している人たちのことですか?また、ルートディレクトリが同じという意味ですか? そうだとすると共有レンタルサーバではGroupは赤の他人同士ですよね?Groupはすべて0に設定してもいいと思うのですが、上記環境ではデフォルトでフォルダは755でファイルは644になっています。なぜですか? Q.5 「その他の第三者(Other)」とは、ウェブ経由でファイルやフォルダにアクセスしてくる人のことですか? Q.6 ディレクトリに置かれたPHPファイルがファイルAに読み書き等した場合、PHPファイルは何権限でファイルAにアクセスしているのでしょうか? 尚、勘違いしている部分があれば訂正をお願いします。

みんなの回答

  • invalid
  • ベストアンサー率61% (67/109)
回答No.1

まずはご質問に回答します。 > Q.1 >「 Owner・Group・Other 」の違いは、ファイルやフォルダにアクセスする経路の違いのことですか? 違います。OSレベルのユーザでいう 「ファイルの所有者、所有者の属するグループ、その他」という違いで あって、アクセスする経路ではありません。 >Q.2 >「ファイル・ディレクトリの所有者(Owner)」とは具体的に誰を指すのでしょうか?どこからアクセスする者のことですか? どこからアクセスしたかに関わらず、 OSユーザ管理上の「ファイルを作成した人」を通常指します。 > Q.3 >設定や環境によってApacheがOwnerになる場合があるようですが、上記>環境では自分のみがOwnerと考えて問題ありませんか? 環境設定によりますが、通常であればWebサーバソフト(apache)が 作成したファイルはWebサーバソフトを起動したユーザアカウントが オーナーとなります。 別にtelnetやftpでご自身でログインして作成したファイルは ご自分がオーナーとなります。 Webサーバソフトが作成したファイルでも、質問者様のユーザアカウント での権限が付与される場合はありますが、これは環境によります > Q.4 >上記環境において「ファイル・ディレクトリの所有者が属しているグループ(Group)」とは、同一サーバを利用している人たちのことですか?また、ルートディレクトリが同じという意味ですか? >そうだとすると共有レンタルサーバではGroupは赤の他人同士ですよね?Groupはすべて0に設定してもいいと思うのですが、上記環境ではデフォルトでフォルダは755でファイルは644になっています。なぜですか? あくまでUNIXのOSレベルでいうユーザ管理の範疇ですので、 共有サーバのユーザ管理がどのような内容なのかによります。 通常レンタルサーバ上では1ユーザ単位に貸し出すのでグループ という概念は希薄ですね。ただapacheなどのサーバソフトは別の ユーザアカウントで起動されているために、Group,otherを0に してしまうと内容を共有できなくなるために、0ではなく参照 権限を与えます。 アカウント管理の仕方によります。 > Q.5 >「その他の第三者(Other)」とは、ウェブ経由でファイルやフォルダにアクセスしてくる人のことですか? UNIXの一般論でいえば「other」は、ファイルを作成したユーザ・ユーザの属するユーザグループ以外の人(プロセス)になります。 Apacheなどのサーバソフトは別のユーザアカウントで起動されているために ファイルシステム上はOtherユーザでの参照となるため、 ウェブ経由でアクセスする場合もOther扱いになります。 (共有レンタルサーバの設定次第です) > Q.6 > ディレクトリに置かれたPHPファイルがファイルAに読み書き等した場合、PHPファイルは何権限でファイルAにアクセスしているのでしょうか? PHPを処理しているApacheのユーザアカウントの権限となります。

noname#102628
質問者

お礼

ご回答ありがとうございます。 UNIXについては全く知識がなくて、勘違いをしていました。 まだイメージが掴めないのでUNIXとApacheについて調べてみます。

関連するQ&A