Si verificamos la propiedad del sitio1, encontraremos algo como esto,
ls -ld /var/www/site1/
drwxr-xr-x 2 root root 4096 Oct 24 21:06 site1/
Esto significa que el directorio es propiedad del usuario root, root del grupo. Mientras que la raíz del usuario tiene permiso de escritura (más permisos de lectura y ejecución) en el directorio, la raíz del grupo solo tiene permisos de lectura y ejecución.
Queremos cambiar la propiedad del grupo a otro (nuevo) grupo y agregar user1 a ese grupo en particular. También daremos permiso de escritura a ese grupo en particular.
Crea un nuevo grupo,
sudo addgroup site1
Agregue user1 al grupo recién creado,
sudo adduser user1 site1
Comprueba que user1 está realmente en ese grupo,
groups user1
El resultado debería ser una lista como,
user1 : <other-groups> site1
Ahora podemos cambiar la propiedad del grupo de su directorio previsto.
sudo chown -vR :site1 /var/www/site1/
changed ownership of `/var/www/site1/' from root:root to :site1
Otorgue permiso de escritura a este nuevo propietario del grupo,
sudo chmod -vR g+w /var/www/site1/
mode of `/var/www/site1/' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)
Comprueba que todos los cambios están ahí,
ls -ld /var/www/site1/
drwxrwxr-x 2 root site1 4096 Oct 24 21:06 /var/www/site1/
Entonces, el directorio ahora es propiedad del usuario root, grupo site1. Tanto el usuario root como el sitio de grupo1 tienen permiso de escritura (más permisos de lectura y ejecución) en el directorio. Cualquier usuario que pertenezca al grupo site1 disfrutará de todos los privilegios otorgados a ese grupo.
Ahora inicie sesión como usuario1, vaya al directorio del sitio1 e intente crear un archivo en ese directorio,
echo "My User1 Site" > index.html
bash: index.html: Permission denied
Esto falló ya que lo más probable es que el grupo principal de usuario1 no sea sitio1. Entonces, cambia a ese grupo.
newgrp - site1
Intente volver a crear el archivo (tenga en cuenta que ha sido trasladado al directorio de inicio del usuario1 después de cambiar el grupo), esto debería funcionar ahora. Dado que los archivos creados tendrán permiso de lectura mundial, apache (o su servidor web) no debería tener ningún problema para acceder a ellos.
EDITAR
Además, como señaló dan08 en el comentario, debe agregar www-data al sitio1 grupo.
sudo adduser www-data site1
En muchas (no todas) distribuciones, www-data es el usuario bajo el cual se ejecuta el servidor web Apache. Esto también significa que todo lo que haga Apache (especialmente los scripts PHP) se realizará con los permisos del usuario www-data (y también el grupo www-data) de forma predeterminada. WordPress utiliza el usuario www-data para escribir archivos.
Si desea ver cómo se está ejecutando el servidor web Apache, emita el comando,
ps aux | grep apache2 | less