こんにちは
私は1週間django Webサーバーを配布しようとしましたが、最終的に成功しましたが、今ではnginx権限の拒否の問題が発生しました。
/var/log/nginx/errors.log
/2016-07-12_1.png HTTP/1.0", host: "ip" 2017/08/28 08:22:38 [error] 873#0: *122 open() "/srv/www/Best/media/Profile Pictures/1/2016-07-12_1.png" failed (13: Permission denied), client: 94.183.22.168, server: ip, request: "GET /media/Profile%20Pictures/1/2016-07-12_1.png HTTP/1.0", host: "ip"
www フォルダ権限
drwxr-xr-x 4 root nginx 4096 Aug 27 15:05 www
最高(プロジェクトフォルダ)権限
drwxrw-r-- 9 uwsgi nginx 4096 Aug 27 21:27 Best
メディアフォルダの権限
drw-rw-r-- 3 uwsgi nginx 4096 Aug 26 12:32 media
静的フォルダ権限
drwxrwxr-x 3 uwsgi nginx 4096 Aug 27 21:22 static
ベストアンサー1
drwxrw-r--
ディレクトリを設定しました。次のいずれか1つ以上でなければなりません。
drwxrwxr-x
- グループが読み、書き込み、実行し、誰でも内容を見ることができます。グループへの書き込みアクセスが必須でない限り、推奨されません。drwxr-xr-x
- グループが読んで実行し、誰もが内容を見ることができます。drwxr-x---
- グループ別に読み取り、実行します。
また、ファイルを表示する権限がありません。これも問題になる可能性があります。
私には2つの選択肢があります。各フォルダとファイルを個別に復元するか、一度に一括回復します。バッチ処理を一度変更すると、特別な権限(書き込みアクセスなど)が削除される可能性が高くなりますが、実行している操作がわかっている場合は後で変更できます。
オプション1、ディレクトリ、ファイルごとに設定:
sudo chmod 750 /path/to/each/directory
sudo chmod 640 /path/to/each/file
オプション2、すべての設定について:
sudo find /path/to/www/root -type d -print0 | xargs -0 chmod 750
sudo find /path/to/www/root -type f -print0 | xargs -0 chmod 640
個人的に私はウェブサイトのディレクトリには750
()を、ウェブサイトのファイルには()を使いたいのですが()と()を使ってもかまいません。drwxr-x---
640
-rw-r----
755
drwxr-xr-x
644
-rw-r--r--