Права на файлы, созданные Laravel

Дмитрий Корнев
13 декабря 2019

Логи и всякие другие файлы, которые генерирует 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 группа пользователь

 

Комментарии