Você precisa que o usuário execute o script para ler, executar e escrever no diretório, por isso deve ser:
7 = (r) ead, (w) rito, e (x) ecute
Outros usuários pertencentes ao mesmo grupo devem ser capazes de executar o arquivo php dentro do diretório, mas não escrever para ele (por razões óbvias); eles não precisam necessariamente ler os arquivos PHP. Portanto, precisamos fornecer apenas permissões de execução:
1 = e (x) ecute
O mesmo para o público. Na verdade, isso é tudo que você precisa para usuários externos que precisam visualizar arquivos estáticos e de php:
1 = e (x) ecute
Portanto, o mínimo deve ser:
711
Confirmei as configurações acima com minha própria configuração, por isso deve funcionar; no entanto, isso está sob o usuário da web padrão. Se você estiver fazendo o upload com um login diferente de www, os arquivos e diretórios provavelmente estarão sob um usuário diferente. Nesse caso, o usuário da Web padrão pode não conseguir ler ou gravar os arquivos que são de sua propriedade. Nesse ponto, você provavelmente precisará adicionar o usuário da web padrão ao seu grupo (o administrador de sistema precisará fazer isso) e, em seguida, conceder permissões de leitura, gravação e execução aos usuários pertencentes ao grupo:
771
E isso provavelmente funcionaria. Ou isso, ou fazer com que o sysadmin altere a propriedade do usuário e do grupo desses arquivos para o usuário padrão do servidor da Web (mas NÃO AS PERMISSÕES!). Se isso ainda não funcionar, um exemplo de saída das permissões (algo como "ls -la dentro do diretório") nos ajudaria a solucionar isso ainda mais. Dito isso, contanto que você só tenha que conceder permissões de execução ao público ( ou "outro"), você deve estar bem do ponto de vista de segurança.