Логи и всякие другие файлы, которые генерирует Laravel обычно имеют группу/владельца www-data/www-data и права доступа 644. Это бывает не удобно. Хотелось бы, чтобы другие пользователи группы тоже имели право записи.
Группа/владелец www-data/www-data — это настройка Nginx+php-fpm, файл /etc/php/7.3/fpm/pool.d/www.conf
:
user = www-data
group = www-data
Впрочем, здесь лучше все оставить, как есть.
Для логов в Laravel есть своя настройка config/logging.php
:
...
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'permission' => 0664,
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
'permission' => 0664,
],
...
И для кэширования config/cache.php
:
...
'stores' => [
...
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
'permission' => 0664,
],
...
Изменение прав в php:
// Доступ на запись и чтение для владельца группы, доступ на чтение для других
chmod("/somedir/somefile", 0664);
Добавление пользователя в группу:
sudo usermod -aG группа пользователь