Sei que é uma pergunta muito antiga, mas gostaria de acrescentar a boa solução com algumas explicações aprofundadas. Você terá que executar duas instruções em sistemas semelhantes ao Ubuntu e então funcionará perfeitamente.
As permissões no Linux podem ser representadas com três dígitos. O primeiro dígito define a permissão do proprietário dos arquivos. O segundo dígito as permissões de um grupo específico de usuários. O terceiro dígito define as permissões para todos os usuários que não são o proprietário nem membro do grupo.
O servidor web deve ser executado com um id que é membro do grupo. O servidor web nunca deve rodar com o mesmo id do dono dos arquivos e diretórios. No Ubuntu executa o apache sob o id www-data. Esse id deve ser um membro do grupo para o qual as permissões são especificadas.
Para dar os direitos apropriados ao diretório no qual deseja alterar o conteúdo dos arquivos, execute a instrução:
find %DIR% -type d -exec chmod 770 {} \;
.Isso implicaria na questão do OP que as permissões para o diretório% ROOT% / banco de dados deveriam ser alteradas de acordo. Portanto, é importante não ter arquivos dentro desse diretório que nunca devem ser alterados ou removidos. Portanto, é prática recomendada criar um diretório separado para arquivos cujo conteúdo deve ser alterado.
Permissões de leitura (4) para um diretório significa ser capaz de coletar todos os arquivos e diretórios com seus metadados dentro de um diretório. Permissões de gravação (2) dão permissão para alterar o conteúdo do diretório. Implicando adicionar e remover arquivos, alterar permissões, etc. A permissão de execução (1) significa que você tem o direito de entrar nesse diretório. Sem o último, é impossível ir mais fundo no diretório. O servidor web precisa de permissões de leitura, gravação e execução quando o conteúdo de um arquivo deve ser alterado. Portanto, o grupo precisa do dígito 7.
A segunda afirmação é sobre a questão do OP:
find %DOCUMENT_ROOT%/database -type f -exec chmod 760 {} \;
Ser capaz de ler e gravar um documento é obrigatório, mas não para executar o arquivo. O 7 é dado ao dono dos arquivos, o 6 ao grupo. O servidor web não precisa ter permissão para executar o arquivo para alterar seu conteúdo. Essas permissões de gravação devem ser concedidas apenas a arquivos nesse diretório.
Todos os outros usuários não devem receber permissão.
Para diretórios que não requerem alteração de seus arquivos, há permissões de grupo 5 suficientes. Documentação sobre permissões e alguns exemplos:
https://wiki.debian.org/Permissions
https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions
http://www.linux.org/threads/file-permissions-chmod.4094/
php.ini
arquivo por algo que possa negar o acesso ao arquivo?