我无法弄清楚如何为我的storage/logs
文件夹设置适当的权限。
我正在尝试在控制台中运行artisan命令,但出现错误消息The stream or file "/var/www/html/laravel-project/storage/logs/laravel-2019-05-04.log" could not be opened: failed to open stream: Permission denied
。
当前权限
drwxrwxr-x 6 www-data www-data 4096 May 3 02:45 storage
drwxrwxr-x 2 www-data www-data 4096 May 4 09:44 logs
-rwxrwxr-x 1 www-data www-data 294932 May 4 19:58 laravel-2019-05-04.log
首先,我将权限设置为 1)
sudo chown -R www-data:www-data root/of/laravel/project
2)将我的用户Ubuntu
添加到www-data
组
sudo usermod -a -G www-data ubuntu
3)将所有文件设置为644
sudo find /root/of/laravel/project -type f -exec chmod 644 {} \;
4)将所有目录设置为755
sudo find /path/to/your/laravel/root/directory -type d -exec chmod 755 {} \;
如果我在控制台中运行诸如导致错误的命令,则会收到一条错误消息,提示我没有写入日志的权限
所以我尝试了
1)将所有目录的所有者更改为我自己
sudo chown -R ubuntu:www-data /root/of/laravel/project
2)授予自己和服务器权限
sudo find /root/of/laravel/project -type f -exec chmod 664 {} \;
sudo find /root/of/laravel/project -type d -exec chmod 775 {} \;
3)授予Web服务器对存储和缓存文件夹的读写权限
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
正确设置权限以使我的用户可以写入存储文件夹并且Web服务器也可以写入的正确方法是什么?