Che cos'è Linux per SET FILE / ERASE_ON_DELETE?


16

In VMS si può dire al file system di scrivere spazzatura sul contenuto esistente di un file quando viene eliminato. Ecco il comando DCL per identificare il file per questo tipo di trattamento:

 $ SET FILE/ERASE_ON_DELETE SAMPLE.TXT

Ciò consente di impostare il criterio in un determinato momento, quindi in seguito gli utenti del file non devono gestire quel dettaglio di sicurezza. Un'eliminazione standard che elimina il nome del file dalla directory e libera lo spazio per l'uso di un altro file modificherà anche il contenuto esistente per impedire all'utente successivo di leggerlo. La normale cancellazione:

$ DELETE SAMPLE.TXT.*

Cos'è Linux per questo?

Risposte:


19

Questo è supportato solo da alcuni filesystem Linux:

chattr +s sample.txt

può (o non può) fare quello che vuoi.

Da man chattr:

NAME
       chattr - change file attributes on a Linux second extended file system
...
       When a file with the ‘s’ attribute set is deleted, its blocks are
       zeroed and written back to the disk.  Note: please make sure to read
       the bugs and limitations section at the end of this document.
...
BUGS AND LIMITATIONS
       The  ‘c’, ’s’, and ‘u’ attributes are not honored by the ext2
       and ext3 filesystems as implemented in the current mainline Linux
       kernels. These attributes may be implemented in future versions of
       the ext2 and ext3 filesystems.

Non so quali specifiche versioni del kernel mainline (se presenti) implementano questo.


2
Wow, impari qualcosa di nuovo ogni giorno. Xfs o zfs implementano questo flag?

8

Nota che con la tecnologia attuale a volte non avrai alcun controllo su questo. Con i dischi SSD, ogni scrittura può essere eseguita in posizioni diverse, mantenendo i vecchi dati ... e questo non può essere sostituito da sistema operativo, file system o altro nel software. Maggiori informazioni su http://www.anandtech.com/printarticle.aspx?i=3531 .


7

L'equivalente più vicino che troverai di solito sui sistemi unix è la crittografia. Un modo semplice per impostare una directory crittografata su Linux (e la maggior parte degli altri unices) è Encfs . Avvio veloce:

mkdir .ciphertext encrypted
encfs .ciphertext encrypted
# work on encrypted/file
fusermount -u encrypted

Esistono diverse altre opzioni per la crittografia del filesystem. Vedi Come crittografare e decrittografare meglio una directory tramite la riga di comando o lo script? , Il modo migliore per eseguire la crittografia del disco completo? e molti altri thread su Super User , Server Fault e Ask Ubuntu .

Non so da cosa FILE/ERASE_ON_DELETEproteggono le minacce . Si noti che su unix, i precedenti contenuti di un file riscritto o cancellato possono essere sempre e solo visti dall'amministratore di sistema o da qualcuno con accesso fisico all'unità: non esiste una "modalità di creazione rapida dei file" che popolare un file con dati casuali che è capitato di trovarsi nella regione del disco utilizzata dal file.


4

Non sono sicuro se questo è quello che stai cercando:

dd if=/dev/urandom of=FILE

Scrive byte casuali in FILE.


Non è la stessa cosa, ma è probabilmente il più vicino possibile in Linux standard.

Oh, capisco. Grazie per avermelo fatto notare, Paul.
Alan Haggai Alavi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.