Verifique os atributos estendidos, se aplicável:
# lsattr file
----i-------------- file
# chattr -i file
O bit 'i' é 'imutável', o que significa que resiste a todas as alterações.
Eu tenho um arquivo no meu servidor da Web que não consigo renomear, excluir, mover, editar, nada. Eu defini as permissões para 777. O que mais posso fazer?
EDIT: para esclarecer - isso é em um serviço de hospedagem para o qual eu não tenho acesso ao shell. O arquivo é um arquivo settings.php da instalação do Drupal.
SOLUÇÃO: As permissões do arquivo de diretório eram imprecisas. Obrigado a quem sugeriu verificar isso.
What else can I do?
"ls -lZ file"
? ls -i
para mostrar o inode do arquivo e tente removê-lo pelo número de inode Use a seu próprio risco.
Meu palpite é que é um daqueles irritantes arquivos .pureftp-upload
. Mesmo que não seja, há duas maneiras de lidar com esses arquivos.
$f = ".pureftp-upload.23kjfvds9osd890235mn"; unlink($f);
em seguida, coloque o código acima com <?php
no início e ?>
no final (a formatação do código não funciona bem com as tags php).
Se esse arquivo estiver em uma pasta considerada acessível por meio do serviço da web Apache, talvez seja necessário parar o Apache por um momento e fazer as alterações.
Eu sei que o IIS no Windows tem algo como isso, onde se o arquivo puder ser acessado, os direitos do usuário não importam.
Tags permissions webserver