O Apache é executado como um usuário não privilegiado, conhecido como www-data
nas distribuições Debian, por uma razão muito boa: segurança.
Ela é considerada uma boa prática de segurança ao lidar com daemons desistindo dos direitos de privilégio, evitando ao máximo criar arquivos de configuração ou arquivos de dados com a propriedade do usuário não privilegiado que executa o daemon - assim, se o O usuário do Apache está comprometido, os invasores terão muito mais dificuldade para mexer nas coisas ou desfigurar um site.
Como possível, recomendo criar sites com usuários diferentes e conceder direitos de leitura somente ao grupo www-data; e ter apenas acesso de escrita a www-data nos diretórios que realmente precisam deles. No entanto, mesmo isso pode ser evitado usando o mod-ruid2.
mod-ruid2 permite realmente rodar cada site / vhost com seu dono, e lidar com o modelo de segurança das páginas é muito mais fácil. Elimina a necessidade de criar diretórios graváveis do mundo. Ele também garante que, em caso de comprometimento de um vhost, o invasor não poderá instalar malware nos outros vhosts.
mod-ruid2 também é recomendado para pessoas com um modelo de hospedagem, e nós o usamos aqui para rodar algumas centenas de sites, com bastante sucesso.
Infelizmente, a documentação sobre mod-ruid2 é um pouco escassa, e eu tive que escrever um post mais elaborado para descrevê-la. -access-file-while-is-has-permission "> aqui no Unix e no Linux .