Если мы проверим право собственности на site1, мы найдем что-то вроде этого,
ls -ld /var/www/site1/
drwxr-xr-x 2 root root 4096 Oct 24 21:06 site1/
Это означает, что каталог принадлежит пользователю root, группе root. В то время как пользователь root имеет разрешение на запись (плюс права на чтение и выполнение) в каталог, корень группы имеет только права на чтение и выполнение.
Мы захотим изменить владельца группы на другую (новую) группу и добавить user1 в эту конкретную группу. Мы дадим разрешение на запись и этой конкретной группе.
Создать новую группу,
sudo addgroup site1
Добавьте user1 во вновь созданную группу,
sudo adduser user1 site1
Убедитесь, что user1 действительно в этой группе,
groups user1
Вывод должен быть чем-то вроде списка,
user1 : <other-groups> site1
Теперь мы можем изменить группу владельцев вашего предполагаемого каталога.
sudo chown -vR :site1 /var/www/site1/
changed ownership of `/var/www/site1/' from root:root to :site1
Предоставить разрешение на запись новому владельцу группы,
sudo chmod -vR g+w /var/www/site1/
mode of `/var/www/site1/' changed from 0755 (rwxr-xr-x) to 0775 (rwxrwxr-x)
Убедитесь, что все изменения действительно есть,
ls -ld /var/www/site1/
drwxrwxr-x 2 root site1 4096 Oct 24 21:06 /var/www/site1/
Итак, каталог теперь принадлежит пользователю root, группе site1. Пользователь root и группа site1 имеют права на запись (плюс права на чтение и выполнение) в каталог. Любой пользователь, принадлежащий к группе site1, будет пользоваться всеми привилегиями, предоставленными этой группе.
Теперь войдите как user1, перейдите в каталог site1 и попробуйте создать файл в этом каталоге,
echo "My User1 Site" > index.html
bash: index.html: Permission denied
Это не удалось, поскольку, скорее всего, основная группа пользователя user1 не site1. Итак, перейдите в эту группу.
newgrp - site1
Попробуйте воссоздать файл (помните, что вы переместились в домашний каталог user1 после смены группы), теперь это должно работать. Поскольку созданные файлы будут иметь мировое разрешение на чтение, apache (или ваш веб-сервер) не должен сталкиваться с какими-либо проблемами при доступе к ним.
РЕДАКТИРОВАТЬ
Также, как отметил dan08 в комментарии, вам нужно добавить www-данные в группу site1.
sudo adduser www-data site1
Во многих (не во всех) дистрибутивах www-data - это пользователь, под которым работает веб-сервер Apache. Это также означает, что все, что делает Apache (особенно включая скрипты PHP), будет выполнено с разрешениями пользовательских www-данных (а также групповыми www-данными) по умолчанию. WordPress использует пользовательские www-данные для записи файлов.
Если вы хотите увидеть, как работает веб-сервер apache, введите команду:
ps aux | grep apache2 | less