A maior coisa que aprendi é não dar acesso ao Apache para escrever qualquer coisa que você não precise escrever também, por exemplo, cache, usuário ou diretórios de download para os quais você pode fazer upload de material.
Portanto, tome posse de tudo com algo como sudo chown user:user
no diretório do site e dê ao o
outro bit as permissões necessárias ....
Substitua user:user
por um usuário e grupo que você gostaria.
Nos diretórios você pode usar um comando como:
sudo chmod o+rx /var/www/'directory' #make directory read and executable for other
sudo chmod o-wx /var/www/'directory'/'files' #remove write and execute from files
sudo chmod o+r /var/www/'directory'/'files' #add read to files
Você também pode usar um comando find
que é um pouco avançado, mas torna o trabalho um pouco mais fácil, algo como (depois de ter possuído os arquivos com):
chown user:user /var/www/ -R # this is only an example..
- diretórios
find /var/www/ -type d -exec sudo chmod o+rx {} \;
- arquivos
find /var/www/ -type f -exec sudo chmod o-wx {} \;
find /var/www/ -type f -exec sudo chmod o+r {} \;
Eu tentei ser o mais descritivo possível. Eu posso explicar mais, se necessário. Isso fala sobre permissões na metade do caminho: