So, should www-data user be the owner of /var/www
Why is the apache process run by www-data, but the /var/www owned by root? Is there some risk to making www-data own the folder and run the process?
Seu servidor da web está sendo executado como www-data. Se o apache tem a capacidade de gravar em / var / www e você configurou algo incorretamente, ou executar um aplicativo da Web buggy, ou o próprio apache tiver um bug explorável, então uma pessoa malvada na Internet seria capaz de escrever coisas para / var / www. Sempre que possível, você deve sempre dar às contas de serviço os privilégios mínimos necessários para operar.
is there something even better than the two solutions I've seen?
Crie um novo grupo e altere a propriedade do / var / www para root: group. Adicione todos os usuários que precisam publicar nessa pasta para o grupo. Você também pode marcar a pasta com o bit setgid e ajustar o umask de seus usuários para que qualquer coisa que eles gravem nessa pasta seja gravável por qualquer outra pessoa desse grupo.