Se verificarmos a propriedade do site1, encontraremos algo assim,
ls -ld /var/www/site1/
drwxr-xr-x 2 root root 4096 Oct 24 21:06 site1/
Isso significa que o diretório é de propriedade do usuário root, group root. Enquanto o usuário root tem permissão de gravação (mais permissões de leitura e execução) para o diretório, o grupo root tem apenas permissões de leitura e execução.
Queremos alterar a propriedade do grupo para outro grupo (novo) e adicionar user1 a esse grupo específico. Também daremos permissão de gravação para esse grupo específico.
Crie um novo grupo,
sudo addgroup site1
Adicione user1 ao grupo recém-criado,
sudo adduser user1 site1
Verifique se user1 está realmente nesse grupo
groups user1
A saída deve ser uma lista como,
user1 : <other-groups> site1
Agora podemos alterar a propriedade do grupo do diretório pretendido.
sudo chown -vR :site1 /var/www/site1/
changed ownership of '/var/www/site1/' from root:root to :site1
Conceder permissão de gravação a esse novo proprietário do grupo
sudo chmod -vR g+w /var/www/site1/
mode of '/var/www/site1/' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)
Verifique se todas as alterações estão realmente lá,
ls -ld /var/www/site1/
drwxrwxr-x 2 root site1 4096 Oct 24 21:06 /var/www/site1/
Portanto, o diretório agora é de propriedade do usuário root, group site1. Tanto o usuário root quanto o group site1 possuem permissão de gravação (mais permissões de leitura e execução) no diretório. Qualquer usuário pertencente ao grupo site1 desfrutará de todos os privilégios concedidos a esse grupo.
Agora faça o login como user1, mova para o diretório site1 e tente criar um arquivo nesse diretório,
echo "My User1 Site" > index.html
bash: index.html: Permission denied
Isso falhou, pois provavelmente o grupo principal de user1 não é site1. Então, mude para esse grupo.
newgrp - site1
Tente recriar o arquivo (cuidado com o fato de você ter sido movido para o diretório inicial do usuário1 depois de alterar o grupo), isso deve funcionar agora. Como os arquivos criados terão permissão de leitura mundial, o apache (ou seu servidor da Web) não deve ter problemas para acessá-los.
EDITAR
Além disso, como apontado por dan08 no comentário, você precisa adicionar www-data ao site1 group.
sudo adduser www-data site1
Em muitas distribuições (não em todas), www-data é o usuário sob o qual o servidor web Apache é executado. Isso também significa que tudo feito pelo Apache (especialmente incluindo scripts PHP) será feito com as permissões do usuário www-data (e também do grupo www-data) por padrão. O WordPress usa o usuário www-data para gravar arquivos.
Se você quiser ver como o servidor web apache está sendo executado, emita o comando
ps aux | grep apache2 | less