Verifique as permissões do diretório . Para excluir um arquivo dentro dele, ele deve ser gravável por você
chmod ugo+w .
e não imutável ou somente anexado:
chattr -i -a .
Verifique com ls -la
e lsattr -a
.
Estou no processo de migração de uma máquina do RHEL 4 para 5. Em vez de realmente fazer uma atualização, criamos uma nova VM (ambas as máquinas estão em uma nuvem) e estou no processo de copiar dados entre as dois.
Eu encontrei o seguinte arquivo, que eu preciso remover da nova máquina, mas não consigo, mesmo quando rodando como root:
-rw------- 1 2003 2003 219 jan 11 14:22 .bash_history
Este arquivo está dentro de / home / USER /, onde USER é a conta do cara que construiu a máquina. Ele não tem uma conta na máquina antiga, então estou tentando remover sua pasta pessoal para que a nova máquina seja compatível com a antiga, mas recebo o seguinte erro:
rm: ne peut enlever '.bash_history': Opération non permise
(traduzido do francês: não é possível remover XXX, operação não é permitida)
Eu tentei usar o seguinte comando, mas isso não fez diferença:
chattr -i .bash_history
A única opção é criar um usuário com o ID 2003 ou há outra maneira de contorná-lo?
Eu tentei usar rm -f
e recebo o mesmo erro. Eu recebo o mesmo tipo de erro usando chmod 777
primeiro.
Eu consegui chown
a pasta que contém o arquivo que estou tentando excluir, então é:
drwx------ 2 root root 1024 jan 24 15:58 USER
A execução do comando lsattr
, conforme sugerido pelo Angus, forneceu a seguinte saída:
-----a------- USER/.bash_history
------------- USER/..
------------- USER/.
O arquivo é sinalizado como somente anexado - ao alterar esse sinalizador usando chattr -a .bash_history
, consegui excluir o arquivo.
Eu tive um problema semelhante, mas tentei as duas permissões e chattr anteriormente sem sucesso. Raiz no Terminal. CD para o diretório.
No entanto, o que funcionou para mim foi verificar as permissões do diretório onde o arquivo problemático estava localizado - se estiver bem, prossiga para:
chmod ugo+w filename
isso falhou - então:
chattr -i -a filename
que foi aceito - então
chmod ugo+w
que foi aceito
rm filename
e foi embora.
Fedora 25 na estação de trabalho hp.
'sudo' pode executar o comando 'rm' usando o mesmo user.group
NOTA : não tenho certeza se isso também funcionará para IDs como você.
Exemplo:
ls /path/to/dir_being_deleted
drwxrwxrwx 2 nfsnobody nfsnobody 4096 Mar 8 06:55 .
drwxrwxrwx 7 nfsnobody nfsnobody 4096 Mar 8 06:57 ..
-rwxrwxrwx 1 nfsnobody nfsnobody 0 Mar 8 06:55 filename.txt
sudo -u nfsnobody -g nfsnobody rm -rf /path/to/dir_being_deleted
Tags permissions root rm rhel