Você deve usar um grupo para cada website. E faça com que todos os usuários que precisam de acesso de gravação sejam membros do respectivo grupo.
groupadd site1_com
mkdir /var/www/www.site1.com
chgrp site1_com /var/www/www.site1.com
find /var/www/www.site1.com -type d -print0|xargs -0 chmod g=rwxs
chmod -R g+rw /var/www/www.site1.com
usermod -aG site1_com user1
Agora, cada vez que os usuários estiverem criando arquivos na pasta /var/www/www.site1.com, eles devem usar o umask 0002
(em ~ / .bashrc ou no script de implantação) ou devem definir a permissão para o grupo para ter acesso de gravação de leitura chmod -R g+rw /var/www/www.site1.com 2>/dev/null
.
Outra solução para definir as permissões seria usar o dnotify. Crie o script /usr/local/sbin/dnotify_handler-reset_perms.sh
com o seguinte conteúdo:
#! /bin/sh
CHANGED_FOLDER=$1
find $CHANGED_FOLDER -maxdepth 1 -mmin 0 -not -perm -g+w -exec chmod g+w {} \;
E adicione a /etc/rc.local
:
dnotify --recursive /var/www/www.site1.com --create --execute --background /usr/local/sbin/dnotify_handler-reset_perms.sh