CentOS7 nginx メディアと静的権限が拒否されました。

CentOS7 nginx メディアと静的権限が拒否されました。

こんにちは

私は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----755drwxr-xr-x644-rw-r--r--

おすすめ記事