Eu recomendaria ver as duas opções a seguir:
-
Usando um módulo de multiprocessamento para o Apache (como o mpm-itk , que permite avaliar um UID específico e GID para cada VHost, o que permitiria executar o Apache com os privilégios necessários para cada diretório e aumentaria um pouco a segurança, já que os processos do Apache seriam executados com acesso mais restrito ao sistema de arquivos.
-
Usando listas de controle de acesso do sistema de arquivos (algumas informações podem ser encontradas, por exemplo, em Documentação doRHEL ). Essa é uma boa solução, porque todos os usuários podem preservar seus privilégios (e ficar isolados de outros usuários), mas você pode conceder direitos ao Apache para acessar seus diretórios
public_html
.
Você também pode combinar as duas soluções para configurar um ambiente altamente isolado. Eu estava feliz em usar as duas abordagens combinadas em um servidor com poucas centenas de contas de shell e poucas VHosts separadas para várias páginas da web.