Você mencionou que tentou umask e não funcionou, mas seu problema soa exatamente como um umask. Talvez você possa revisitar isso?
Existem duas armadilhas que você pode ter encontrado que poderiam ter resultado em você achar que umask não era o problema:
- Você precisa alterar o umask do usuário que está enviando os arquivos, na maioria dos casos em seu próprio servidor (em vez de hospedagem compartilhada), este será o usuário do servidor web;
www-data
no Ubuntu. - Você deve alterar o umask para o usuário nos scripts de login ou no script de inicialização do apache, simplesmente executá-lo enquanto estiver em uma sessão SSH não afetará nada, pois ele estará ativo somente para essa sessão.
Observe que a permissão de leitura de grupo / mundo em arquivos de propriedade da www data é ruim - qualquer outro aplicativo da web (basicamente qualquer coisa no servidor) poderá ler coisas como arquivos de configuração com senhas de banco de dados etc. é mod_suexec mas depois você precisa configurar o PHP no modo CGI e o Apache MPM worker, é um pouco mais complicado.