Обычно, от имени www-data работает сам сервер, точнее интерпретатор php (php-fpm, если Nginx) и давать этой группе и пользователю права на запись во все директории очень опрометчиво.
Я обычно владельцем файлов делаю конкретного пользователя, который может управлять всеми файлами, а группу оставляю www-data и устанавливаю ей права на запись только у тех папок, в которых действительно может происходить загрузка файлов и изменение файлов скриптами и в этих папках обязательно отключаю запуск скриптов (настройками Nginx). Только ещё umask 027 нужно сделать. Если несколько сайтов, то в случае nginx лучше будет для каждого сайта использовать отдельный пул php-fpm с отдельной группой пользователей только для этого сайта.
Но это только если нет возможности использовать ACL. Если есть - создаю отдельную группу для "разработчиков".