Как настроить umask для процесса php-fpm (www-data)?

Как настроить umask для пользователя www-data (664\775), чтобы применяемые права доступа были корректными? Уже пробовал добавить параметр Umask = 0002 в файлы /etc/systemd/system/multi-user.target.wants/php8.1-fpm.service и /etc/init.d/php8.1-fpm, но результатом было создание файлов с правами 644. Есть ли другие способы настройки umask?
  • 2 ноября 2023 г. 16:08
Ответы на вопрос 1
Чтобы настроить umask для процесса php-fpm, вы можете внести соответствующие изменения в файл конфигурации php-fpm.

1. Откройте файл конфигурации php-fpm. Путь к файлу может зависеть от вашей конфигурации, но обычно он находится в `/etc/php/{версия_php}/fpm/pool.d/www.conf`.

2. Найдите и раскомментируйте или добавьте строку `umask` и установите нужное значение. Например, для установки umask в 0002, строка должна выглядеть так:

```
umask = 0002
```

3. Сохраните измененный файл конфигурации и перезапустите сервис php-fpm для применения настроек. Например, можно использовать команду:

```
sudo service php8.1-fpm restart
```

После этого, процесс php-fpm будет использовать установленное значение umask при создании файлов и директорий.

Если этот способ не сработал у вас, можно попробовать установить umask непосредственно в скриптах PHP.

1. Откройте файл php.ini. Путь к файлу может зависеть от вашей конфигурации, но обычно он находится в `/etc/php/{версия_php}/cli/php.ini`.

2. Найдите или добавьте строку `umask` и установите нужное значение. Например, для установки umask в 0002, строка должна выглядеть так:

```
umask = 0002
```

3. Сохраните изменения и перезапустите php-fpm и/или веб-сервер для применения настроек.

Обратите внимание, что при использовании umask в значение нужно указывать в восьмеричном формате. Например, для установки прав доступа 664 для файлов и 775 для директорий, значение umask должно быть 0002.
Похожие вопросы