Salvo o uso de ACLs fora do sistema básico de permissões, um chmod 000
pode ser desfeito sem autoridade adicional. Os bits de permissão controlam o acesso ao conteúdo do arquivo, mas não controlam o acesso de gravação aos próprios bits de permissão. Normalmente, root e o proprietário do arquivo sempre têm acesso de gravação aos bits de permissão. Portanto, você deve conseguir "recuperar" o arquivo, desde que possa executar ações como o proprietário do arquivo.
$ id -u
501
$ echo foo > foo
$ stat -f '%u %p' foo; cat foo
501 100644
foo
$ chmod 000 foo
$ stat -f '%u %p' foo; cat foo
501 100000
cat: foo: Permission denied
$ chmod 644 foo
$ stat -f '%u %p' foo; cat foo
501 100644
foo
Se você tiver acesso ao shell e seu usuário do shell possuir o arquivo (ou o seu usuário puder mudar para o proprietário do arquivo (su / sudo /…)), apenas chmod
será devolvido manualmente. Caso contrário, se você puder editar o script PHP (e o PHP for executado como o proprietário do arquivo), basta editá-lo para chmod
do arquivo para as permissões desejadas.