Skip to main content
  1. Concetti/

Rm Mechanism

·1 min
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Cos'è
#

La logica per cui l'eliminazione di un file in Linux non è la distruzione dei dati, ma la rimozione di un riferimento (link) all'Inode.

Come funziona
#

  1. Quando esegui rm, il kernel chiama la funzione unlink().
  2. Il nome del file viene rimosso dalla cartella.
  3. Il Link Count nell'Inode viene decrementato di 1.
  4. SE il contatore arriva a 0 e nessun processo sta leggendo il file:
    • I blocchi di dati vengono segnati come "liberi" (disponibili per nuovi dati).
    • L'Inode viene liberato.
Warning

Se un processo (es. un server log) tiene aperto un file mentre lo cancelli con rm, il Link Count scende a 0 ma lo spazio sul disco NON si libera finché il processo non viene chiuso.

Note

I blocchi marcati come "liberi" non vengono azzerati — i dati restano sul disco fisicamente fino alla prossima scrittura su quegli stessi blocchi. Questo rende possibile il recupero forense con tool come foremost. Solo shred sovrascrive i blocchi prima di liberarli.

Collegato a
#

Related