У меня есть веб-сервер, на котором apache работает как www-данные. Пользователи настраиваются с помощью chef, а некоторые из их прав доступа к файлам / папкам установлены на group: www-data, например загружает папки.
Развертывание выполняется с помощью Capistrano с использованием учетной записи пользователя. Было бы полезно, если бы во время развертывания Capistrano также мог изменить группу файлов / папок на www-data.
Как я мог это настроить, сохранив при этом безопасность? Я думаю о записи в файле sudoers, которая позволяет <user>
выполнить chgrp www-data /home/<user>/*
при этом убедитесь, что команда не содержит ..
.
Возможно, вам лучше написать сценарий и включить его в sudoers. Если вашим пользователям нужно будет запускать его только на * в своем домашнем каталоге, тогда что-нибудь простое, как следующее. Он использует переменную окружения SUDO_USER, о которой вы можете узнать больше здесь: http://www.sudo.ws/sudo/sudo.man.html#environment
chgrp www-data /home/`echo $SUDO_USER`/*
Я не тестировал это, но он должен работать в принципе.