Eu tenho alguns arquivos que não consigo remover usando o rf -Rf
comando Eu sou o proprietário desse arquivo e o grupo atribuído a esses arquivos também é um grupo em que meu usuário está. O mais estranho é que eu posso editar o conteúdo deles e alterar as permissões para eles, mas não consigo mover ou exclua-os.
ls -al
total 12
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
drwxr-xr-x 3 rayell pg1083760 4096 2011-09-02 04:33 ..
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 default.settings.php
drwxrwxrwx 2 rayell pg1083760 4096 2011-09-02 04:33 files
-rwxrwxrwx 1 rayell pg1083760 0 2011-09-02 06:38 settings.php
rm -Rf *
rm: cannot remove `default.settings.php': Permission denied
rm: cannot remove directory `files': Permission denied
rm: cannot remove `settings.php': Permission denied
Alguém pode me dizer o que está acontecendo?
linux
filesystems
file-permissions
rm
RaYell
fonte
fonte
Respostas:
Para remover um arquivo, você precisa de permissão de gravação no diretório que contém este arquivo.
Aqui as permissões são:
dr-xr-xr-x 3 rayell pg1083760 4096 2010-10-10 10:00 .
Portanto, ninguém (além deroot
) pode remover arquivos dentro deste diretório. O proprietário deve usarchmod
primeiro.-
1. Há boas razões bonitas para isso. Ao 'remover' um arquivo
rm
, você está realmente tentando desvinculá- lo do diretório (as cópias vinculadas não serão excluídas).fonte
Eu tive o mesmo problema, e
chmod
sozinho não fez o truque. Primeiro tive que alterar o proprietário (usuário e grupo) dos arquivos que queria remover.Explicação:
sudo
: verifique se você possui os direitos adequadoschown
: Comando Linux para alterar o proprietário de um arquivo-hR
: altera o proprietário do diretório e de todos os subdiretórios. Encontrei aqui .root
: nome do novo usuárioadmin
: nome do novo grupoEu já havia mudado os modificadores para 777; Não sei se isso foi necessário ou não.
fonte
chown
você não ter sido o proprietário do diretório nem membro do grupo proprietário do diretório.Outra questão possível é atributo
Este comando mostra o atributo do arquivo e um arquivo com o atributo 'i' não pode ser modificado (e excluído)
portanto, verifique o atributo do seu arquivo e remova o atributo 'i' se o atributo estiver definido
fonte
O motivo é que o diretório pai possui
chmod 705
ou algo parecido. Você podechmod
o diretório pai usando o seguinte comando:Depois disso, você pode remover esse diretório e os arquivos que ele contém.
fonte