共有 Linux サーバーでの実行可能アクセス権と読み取りアクセス権の実際の違いは何ですか?つまり、ウェブ訪問者が php ファイルなどでできることと正確にどのように関連していますか? たとえば、基本的なアクセス許可の下で Godaddy 共有ホスティングを使用すると、Web ユーザーが読み取り可能ではなく実行可能である場合、読み取り可能で実行可能でない場合と同じことが起こります - php ファイルが実行されます。また、共有 Linux サーバーでは、Web ユーザー (サーバー ログインにアクセスできないが、ブラウザーからページにアクセスするユーザー) がファイルを書き込み可能にすることは正確には何ですか?
2 に答える
すべてが Web サーバーを通過する必要があるため、これはすべて Web サーバーが何をしたいのかに依存していることを覚えておく必要があります。ディスクからファイルを読み取るようなものではありません。したがって、「index.php」または「index.cgi」を要求すると、ファイルの内容が読み取られません。Web サーバーは、要求しているファイルがプログラムであることを認識し、プログラムを実行します。ファイルの内容を出力する代わりに、プログラムが出力するものは何でも出力します。これは単なる設定であり、権限とは関係ありません。また、共有ホスティング アカウントを使用している場合、この設定を変更することはできません。
共有 Linux サーバーで、ファイルを書き込み可能にする [...] とは正確には何ですか?
HTTP でファイルを「書き込み可能」にすることはできません。繰り返しますが、これはローカル ドライブ上のファイル システムへのアクセスとは異なります。ファイルのアップロードを処理できるサーバー側のプログラムを作成できますが、これはパーミッションとは関係ありません。
これがあなたの意図したものであることを願っています。他に意味があれば教えてください。
基本的な答えは、何もありません。Web サイトへの訪問者は、PHP などのファイルに直接アクセスすることはありません。彼らは HTTP 要求をコンピューター (例: Apache) 上のサーバー サービス (うわー、ひどい言葉遣いです) に送信し、ページをロードして PHP を実行します。 Apache アカウント (ディストリビューションによっては、 または のいずれnobody
かwww-data
) がそれらのファイルに対して持っているアクセス許可です。アクセス許可が実際に何をするかについては、このウィキペディアのページで詳しく説明されています。
Linux ボックスがある場合は、これを自分でテストできます。ファイルを含むディレクトリを取得しますsudo chmod -R 744
。それから、それにls -l
入ってみてください。ファイル名は表示されますが、ファイルに関するその他の情報は表示されません (内容を含む -nano
そのディレクトリ内のファイルを ing すると、新しいファイルが作成されます)。