0

ユーザーが画像をトリミングできる Web サイトがあります。私は通常、トリミングした画像を「755」chmod パラメーターのフォルダーに保存します。

ただし、755 の場合は機能しません。777 に chmod すると機能しますが、777 は非常に安全ではないと思うので、使用したくありません。

何が間違っている可能性がありますか?

Ps。システムはこのように動作します。サーバーにはいくつかの画像があり、PHP ではユーザーがこれらの画像をトリミングすることができ、[保存] をクリックすると、/cropped" フォルダーに保存する必要があります。777 では機能しますが、755 では機能しません。

4

4 に答える 4

5

ファイルのアクセス許可は、ファイルの所有者ができることと、他の人 (グループおよびその他のユーザー) ができることを指定します。正しい所有者を指定する必要があります。

おそらく、フォルダーの所有者をサーバープロセスのユーザーに変更する必要があります(Apacheを使用している場合は、おそらくwww-dataです)。その後、755 が機能するはずです。

chown www-data:www-data /cropped

編集:chown -R内部にサブフォルダーがあり/cropped、それらのアクセス許可も変更する場合に使用します。

于 2013-01-11T19:46:27.683 に答える
3

すでに他のユーザーから回答を得ています。ですから、ここでそれをさらに繰り返す必要はありません。

ただし、755 と 777 を疑似セキュリティ レベル設定のようなものと考えるのではなく、実際にその意味を理解する必要があります。777 がすぐに安全でないことを意味するわけではありません。率直に言って、画像アップロード フォルダーを 777 に設定しても、すぐに問題が発生することはないと思います。

所有者、ルート、php 実行者などは同等ではありませんが、同じかもしれません。

これらの単語は英語に基づいており、プログラミングの世界の外国の構造ではなく、英語の価値でそれらを理解する必要があります.

root ユーザーは独裁者のようなものです。彼の言うことは何でもいい。違うと言える人はいない。

オブジェクトがあるとき、所有者ユーザーがいます。そして、所有者ができること (読み取り、書き込み、または実行) に関する規則を設定します。特定のグループができることを法律で定めることもできます。最後に、他の誰もができることを法律で定めることもできます。

現在、独裁者はすべての作業を行っているわけではありません。PHP を実行しているのは 1 人だけです。また、ファイルの所有者は別の可能性があります。彼らは確かに同一人物である可能性がありますが、そのような定義は同等ではありません. 違いがわかると思います。

ここに別の類推があります。私立公園を考えてみてください。全員 (つまり 777) が公園に入って遊べるようにすると、何らかのセキュリティ上のリスクが生じますか? いいえ。金庫があるとしたら、誰を許可しますか? あなた自身(所有者)だけですよね?つまり、Linux パーミッションでは 700 のようになります。あなた以外の誰も許可を持っていません(独裁者を除いて、彼はあなたの家に来て、あなたを殺し、必要に応じてあなたのものを奪うことができるからです)。

于 2013-01-12T06:17:31.573 に答える
0

755は、所有者が読み取り/書き込み/実行でき、グループおよび全員(パブリック)が読み取り/実行のみできることを意味します。httpdのクレデンシャルを確認してください。777は必ずしも安全でないことを意味するわけではありません。.htaccessまたは構成(フォルダーごと)を使用して、そのフォルダー内のPHPの解析を無効にし-ExecCGIてくださいphp_flag engine offphp.ini

775を試して、グループ設定で十分かどうかを確認してください。

于 2013-01-11T19:43:40.160 に答える
0

/cropped ディレクトリは、PHP を実行しているユーザーが所有する必要があります。

これは通常 www-data ですが、設定を確認する必要があります。

于 2013-01-11T19:46:48.507 に答える