Não é possível excluir arquivos do servidor

1

Quando tento excluir arquivos do meu ftp usando o filezilla, recebo o seguinte erro:

550 image.jpg: Permission denied

As permissões de arquivo nesta imagem são 644, tentei alterá-lo com algo maior, mas sem sucesso ...

550 CHMOD 777 image.jpg: Operation not permitted

Tentei apagar do painel plesk mas o mesmo.

Alguma ideia? Eu tenho uma hospedagem vps com linux / centos.

    
por Levani 16.09.2011 / 18:50

4 respostas

1

Eu encontrei a solução! O problema foi causado porque eu estava criando a pasta pai do arquivo usando a função php mkdir. Essa pasta estava criando com a permissão 755, independentemente do que eu usei como um segundo parâmetro para a função mkdir. A solução é adicionar duas linhas mágicas antes e depois da função mkdir, assim:

$old_mask = umask(0);
mkdir($folder);
umask($old_mask);

Eu não sei exatamente o que eles fazem, mas funciona agora. A pasta pai tem permissão 777 e eu posso deletar qualquer arquivo dentro dela.

    
por 17.09.2011 / 11:35
3

Você não tem permissões para o arquivo. Você não é o proprietário do arquivo. Portanto, você não pode remover ou alterar permissões no arquivo. Tente isso em um shell:

sudo rm -f image.jpg

    
por 16.09.2011 / 18:54
3

Quando você exclui um arquivo, não modifica esse arquivo, mas modifica seu diretório pai removendo filename - > inode correspondência. O arquivo pode ter vários nomes (hardlinks) em um único sistema de arquivos. Quando o inode link counter se torna 0, inode é liberado. Então você precisa modificar permissões para o diretório pai, não para o arquivo.

O segundo caso possível é que no arquivo de sistemas de arquivos Linux pode haver atributos, o que pode impedir que ele seja excluído. Veja man chattr para detalhes.

    
por 16.09.2011 / 19:38
0

poste o

ls -la image.jpg

e tente fazer algo assim:

  1. crie algum arquivo neste diretório
  2. elimine este ficheiro
por 16.09.2011 / 20:10

Tags