(1) First question: ... as usual, the apache process user www-data is the only member of this group ... What is wrong with this? I see no point in setting the "other" permission to anything apart from 0 (instead of the often recommended 5 for directories and 4 for files)
Primeiramente, adicionar-se como administrador / desenvolvedor de sistema como membro do grupo www-data
é uma ideia perfeitamente válida e válida, pois permitiria que você trabalhasse com arquivos e pastas criados pelo servidor da Web.
Se as permissões da raiz do documento do servidor web foram configuradas assim, com o bit setgid nos diretórios você poderia trabalhar com arquivos e pastas criadas pelo servidor web e, porque você compartilhou a propriedade do grupo (e supondo umask de 002) o servidor poderia funcionar corretamente com acesso total para arquivos e pastas que foram criados por você, ftp'ed, criados etc.
Nesse caso, você estaria certo, definir os outros bits como 0 seria sensato, pois as outras contas UNIX não deveriam ter acesso à raiz do documento.
Eu suspeito que seus documentos do CMS sugerem permitir que outros leiam, pelo menos, porque a maioria dos administradores não profissionais não terá conhecimento suficiente para configurar o setgid etc e, no caso dos arquivos de propriedade do www-data, você será outro - isso será menos permite que você leia os arquivos e vice-versa com o servidor sobre seus arquivos.
(2) Second question: when group ownership of directories and files in the web root belongs to a group that does not include the apache process
Pode depender de qual diretório é usado e se o servidor da Web precisa de acesso de gravação a ele para funcionar. Geralmente, você deve conceder ao servidor da Web apenas permissões suficientes para que ele funcione, mas se o servidor da Web precisar de permissão, o ideal é que ele seja atribuído às funções de propriedade ou de grupo. Se você der ao mundo acesso de leitura / gravação apenas para que seu servidor possa ler / escrever, você está permitindo que outras contas de usuários UNIX tenham a mesma liberdade. por exemplo. esses outros "vizinhos" em um sistema compartilhado que não deveria poder acessar seus arquivos, mas ocasionalmente podem quando os administradores deslizam, e sim eu vi isto acontecer.
(3) And finally a question about w permissions. Let's say the apache process has group ownership of a file and this group has an access permission of 7:
bem, sim, que praticamente vai ser a principal fonte de seus problemas, você tem um servidor conectado à internet - que será constantemente submetido a abusos, pessoas más tentando roubar o servidor para fazer o que eles querem - o que pode envolver manipulações de arquivos na raiz do documento e no site, por exemplo
- indexação / exploração de diretórios
- escrevendo / desfazendo arquivos - quando o servidor da Web precisa apenas ler esses arquivos para funcionar
Observe que, como um problema geral de segurança, o abuso do sistema de arquivos por meio do servidor da web pode se espalhar para o restante do sistema operacional, por exemplo, leitura de senhas, etc. Então, além disso, você tem problemas de permissões sobre o servidor da Web, exibindo informações confidenciais do sistema, senhas, registros, etc. fora da raiz do documento.
Em relação às permissões de raiz do documento, como são as permissões bem configuradas? Eu recomendaria
e também lendo