Sto migrando una macchina da RHEL 4 a 5. Invece di eseguire effettivamente un aggiornamento, abbiamo creato una nuova VM (entrambe le macchine sono in un cloud) e sto copiando i dati tra i due.
Mi sono imbattuto nel seguente file, che devo rimuovere dalla nuova macchina ma non riesco a farlo, anche quando eseguo come root:
-rw------- 1 2003 2003 219 jan 11 14:22 .bash_history
Questo file si trova all'interno di /home/USER/, dove USER è l'account del ragazzo che ha costruito la macchina. Non ha un account sulla vecchia macchina, quindi sto cercando di rimuovere la sua cartella Inizio in modo che la nuova macchina coincida con quella vecchia, ma ricevo il seguente errore:
rm: ne peut enlever `.bash_history': Opération non permise
(tradotto dal francese:impossibile rimuovere XXX, operazione non consentita)
Ho provato a usare il seguente comando ma questo non ha fatto alcuna differenza:
chattr -i .bash_history
L'unica scelta è creare un utente con l'ID 2003 o esiste un altro modo per aggirarlo?
Modifica
Ho provato a usare rm -f
, e ottengo lo stesso errore. Ottengo lo stesso tipo di errore usando chmod 777
prima.
Sono stato in grado di chown
la cartella che contiene il file che sto cercando di eliminare, quindi è:
drwx------ 2 root root 1024 jan 24 15:58 USER
Modifica2
Esecuzione di lsattr
comando come suggerito da Angus ha dato il seguente output:
-----a------- USER/.bash_history
------------- USER/..
------------- USER/.
Il file è contrassegnato come append-only – cambiando questo flag usando chattr -a .bash_history
Sono stato in grado di eliminare il file.
Risposta accettata:
Verifica i permessi della directory . Per eliminare un file al suo interno, dovrebbe essere scrivibile da te
chmod ugo+w .
e non immutabile o di sola aggiunta:
chattr -i -a .
Verifica con ls -la
e lsattr -a
.