Я уже некоторое время борюсь с проблемами umask/permission в различных случаях. Я установил www-data (запускается nginx/php-fpm), чтобы иметь umask 002 в файле /etc/init/php-fpm.conf, и мой пользователь развертывания также имеет umask 002 в /home/deployer/ .bashrc. Все файлы приложений имеют права доступа 0660 (0770 для каталогов), так что они оба могут их читать/записывать (основная группа развертывателя — www-data). Однако я продолжаю сталкиваться со случаями, когда этот umask не соблюдается, а для файлов установлено значение 644 или 640.
Мой текущий случай - это когда SSHing в качестве root с помощью скрипта ansible с параметрами:
sudo: yes
sudo_user: deployer
Файлы, созданные с помощью ansible, получают права доступа 644. Как узнать, где устанавливается umask и где его добавить?
Во-вторых, нет ли лучшего способа выполнить развертывание? Я хотел бы просто полностью избежать этой проблемы и выполнить всю работу по развертыванию от имени пользователя www-data, но, видимо, это проблема безопасности. Этот материал umask действительно сложно развертывается.
Спасибо.