Qual grupo possui os arquivos PHP? Sua menção ao 777 sugere que é a 'roda' ou 'adm' ou algum outro grupo privilegiado, de modo que a única maneira de o Apache ver qualquer arquivo é quando esse arquivo é legível por todos. Ou mundialmente gravável, no caso da pasta de uploads.
Isso certamente não é uma coisa boa - embora a gravidade dependa de tudo o que você está executando no servidor (tanto na Web quanto de outra forma), se algum dos scripts PHP contém credenciais de texto simples, etc.
Se, por outro lado, os arquivos são de propriedade do gid sob o qual o Apache é executado, então você está em uma forma um pouco melhor. Você poderia, em teoria, fazer um chmod -R o-rwx
no DocumentRoot para remover todos os privilégios "mundiais", e tudo provavelmente seria legal e seguro e suas páginas da Web ainda funcionariam.
Mas há a questão dos bits setuid. Não tenho certeza se o script PHP de propriedade da raiz com o setuid ativado pode, na prática, ser explorado para propósitos maliciosos, mas eu não gostaria de um no meu servidor web.
E mesmo que o setuid não seja uma preocupação, a propriedade-raiz ainda não tem o cheiro certo para mim.