Você pode usar o módulo de multiprocessamento mpm-itk para o apache ( link ). Permite que os virtualhosts executem qualquer usuário.
Uma funcionalidade semelhante pode ser alcançada com o php-fcgi combinado com o suexec ( link ) .
Votei no primeiro, mas o segundo é mais popular.
Talvez você deva configurar seu serviço scp / sftp para usar um ambiente com chroot na casa dos usuários. Também não é muito simples. Se você tiver problemas com eles, estou aguardando sua próxima pergunta aqui.
E você poderia usar o acls (man setfacl), se você tiver algum desejo extra, embora eles não sejam realmente necessários. Eu nunca encontrei nenhum problema que não fosse solucionável com essas ferramentas.