権限と所有権を正しく設定しましたが、依然として「storage/logs/laravel.log」が取得されます。権限が拒否されました。

権限と所有権を正しく設定しましたが、依然として「storage/logs/laravel.log」が取得されます。権限が拒否されました。

この問題に関する Q&A はたくさんあります:

"storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied

正しい解決策は、適切な所有者とグループに適切な権限を設定することです。そこで私は次のようにしました。

Nginx グループの出力はnginx次のようになりますnginx -V:

nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: ... --user=nginx --group=nginx ...

ファイルとディレクトリのグループは次のように設定されていますnginx:

sudo chown -R $USER:nginx /path/to/project

ディレクトリには 755、ファイルに 644 を設定しました。

sudo find /path/to/project -type f -exec chmod 664 {} \;    
sudo find /path/to/project -type d -exec chmod 775 {} \;

次に、 を 775 に設定しますstorage

sudo chmod -R 775 storage

storage/logs/laravel.logしたがって、権限が775または であることを確認します-rwxrwxr-x

しかし、このファイルでは依然としてアクセス拒否エラーが発生します。所有者も変更しようとしましたがnginxうまくいかず、selinux完全に無効にしました。

助言がありますか?

(それとも、代わりにstackoverflow.comに投稿すべきだったのでしょうか?)

答え1

私は次の行で修正しました:

chown -R www-data:www-data storage

希望は助けになる

関連情報