1

私のウェブサイトには画像のアップロード機能があります。ローカルホストで試してみましたが、うまくいきました。今、私はそれをホストしましたが、次のエラーが発生しました:

アップロードされたファイルの移動に失敗し、ストリームのアクセス許可が拒否されました

オンラインでエラーを確認したところ、chmod を 777 に変更することで解決できることがわかりました。

私も同じことを試しましたが、うまくいきました。713 だけでも問題なく動作しています。ただし、ハッキングの可能性があるため、777 に許可を与えることは適切ではありません。

これを回避する方法はありますか?同じ問題に対するより良い解決策が得られるまで、chmod を 713 に変更しました。

現在、Ubuntu 16.04 イメージを使用して Google Cloud Platform でホストしています

4

1 に答える 1

1

2 つのオプションを使用できます。

1) 所有者をアップロード ディレクトリから apache ユーザーに変更できます

chmod www-data:www-data your_folder

しかし、これにはいくつかの悪影響があります。ssh ユーザーは、root 権限だけでここでファイルを編集できます。

2) ファイルのアップロード専用のグループを作成し、ssh ユーザーと apache ユーザーをこのグループに入れることができます。

sudo addgroup uploaders
sudo usermod -aG uploaders www-data
sudo usermod -aG uploaders your_user

この変更後、アップロードフォルダーの所有者

chmod your_user:uploaders your_folder

この後、アクセス許可を 744 または必要なものに変更できます

于 2017-12-18T07:25:43.453 に答える