56

基本的な質問で申し訳ありません-私は.NET開発者であり、LAMPセットアップの経験があまりありません。

特定のフォルダーへのアップロードを許可するPHPサイトがあります。アップロードプロセスを機能させるには、このフォルダーをWebサーバーユーザーが所有する必要があると言われたので、フォルダーを作成して、次のようにアクセス許可を設定しました。

chown apache:apache -R uploads/
chmod 755 -R uploads/

現在の唯一の問題は、FTPユーザーがアップロードされたファイルをまったく変更できないことです。

ファイルをアップロードして、後でWebサーバーユーザー以外のユーザーとして変更できるようにする権限設定はありますか?

4

7 に答える 7

46

apacheユーザーとFTPユーザーの両方をメンバーとして新しいグループを作成し、アップロードフォルダー775に対するアクセス許可を作成できます。これにより、apacheユーザーとFTPユーザーの両方がフォルダー内のファイルに書き込むことができるようになりますが、他のすべてのユーザーは保持されます。それらを変更することから。

于 2008-08-14T13:32:55.473 に答える
15

あなたが本当にこれをしたいのなら、私はライアンの答えに行きます。

一般に、* nix環境では、許可をできるだけ少なくすることに常に誤りがあります。

10回のうち9回は、755がこれに対する理想的な権限です。ファイルを変更できる唯一のユーザーはWebサーバーであるためです。本当にこれを変更する必要がある場合は、グループ内のftpユーザーでこれを775に変更してください。

あなたはあなた自身の承認によってphpに不慣れなので、ここにあなたのアップロードサービスのセキュリティを改善するための役に立つリンクがあります: move_uploaded_file

于 2008-08-14T13:45:04.903 に答える
3

アップロードする権利を持つ ftp グループを作成するという考えを支持します。ただし、775 に許可を与える必要はないと思います。7 は、読み取り、書き込み、実行を表します。通常は特定のグループに読み書きを許可したいのですが、場合によっては実行する必要がない場合もあります。

于 2016-02-12T15:17:52.710 に答える
1

SELinuxを使用している場合は、タイプコンテキストがtmp_tであることを確認する必要があることを追加します。これは、chconユーティリティを使用して実現できます。

chcon-ttmp_tアップロード

于 2008-08-14T13:43:36.653 に答える
1

重要なのは、apacheユーザーとグループが最小限readのアクセス権を持ち、場合によってはexecuteアクセスできるようにすることです。残りについては、0アクセスを許可できます。

これは最も安全な設定です。

于 2012-02-27T06:11:53.790 に答える
0

またCHOWN、またはchgrpあなたのウェブサイトのフォルダを覚えておいてください。試す myusername# chown -R myusername:_www uploads

于 2014-07-11T02:51:20.793 に答える