Shlop
@Shlop
Full Stack Developer (PHP/Laravel/JavaScript)

Как сделать что бы PHP-FPM создавал папки с правами 775 а файлы с 664?

Здравствуйте, подскажите пожалуйста, есть проект на laravel, настроил nginx и php-fpm, для сайта создал новый пул:
/etc/php/7.4/fpm/pool.d/dev-my.conf
Содержимое файла dev-my.conf

[dev-my]
user = dev-my
group = dev-my
listen = /run/php/php7.4-dev-my-fpm.sock
listen.owner = dev-my
listen.group = www-data
php_admin_value[disable_functions] = exec,passthru,shell_exec,system
php_admin_flag[allow_url_fopen] = off
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chdir = /


Как я понимаю теперь скрипты на сайте запускаются от имени пользователя dev-my, проблема в том что если мой php скрипт создаёт папку или файлы, то папки создаются с правами - 755, а файлы - 644, а хотелось бы что бы папки были с правами 775 а файлы с 664.
И ещё не понятно мне вот что:
Есть в laravel такая вот папка /storage/framework/views в этой папке находятся закэшированные view файлы.
Что я делаю:
  1. Очищаю папку views от файлов
  2. Захожу на главную страницу сайта через браузер, в папке views создались файлы с правами 644
  3. Опять очищаю папку view от файлов
  4. Подключаюсь через SSH под пользователем dev-my, выполняю команду: php artisan view:cache смотрю в папку views, там теперь файлы с правами 664

Почему вот так права различаются даже не знаю. Пробовал уже гуглить php-fpm umask, не сработали для меня примеры которые есть. Подскажите пожалуйста в чём может быть проблема ? Заранее благодарю за ответ.
  • Вопрос задан
  • 558 просмотров
Пригласить эксперта
Ответы на вопрос 2
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
1. Можно задать в скриптах - umask(), но нужно быть предельно осторожным и понимать что вы делаете

2. В php-fpm.conf так же можно задать umask = 0002 (для получения 664) см. Как изменить umask для пользователя www-data в debian 7?

3. Значение umask "по умолчанию" так можно задать для пользователя командой umask (например через ~/.bashrc), для случаев когда вы выполняете в консоли artisan команды авторизовавшись под dev-my см. Как поставить umask по-умолчанию?
Ответ написан
fzfx
@fzfx
18,5 дм
могу подсказать только решение проблемы средствами администрирования. попробуйте
setfacl -R -m d:g:<имя группы>:rwx /storage/framework/views
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы