Prezados,
Paranoico que se preze já usava exclusão segura há muito tempo em sistemas NTFS, FAT e FAT32. Porém, lendo o manpage do
shred voltei a pesquisar sobre o assunto e descobri que os sistemas journaled (ReiserFS, JFS, Ext3, Ext4, etc) não são
totalmente compatíveis com exclusão segura.
CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things,
but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not
guaranteed to be effective in all file system modes:
* log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)
* file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems
* file systems that make snapshots, such as Network Appliance's NFS server
* file systems that cache in temporary locations, such as NFS version 3 clients
* compressed file systems
Pesquisei e li em vários fóruns estrangeiros, que a exclusão segura em ext3 e ext4 não é garantida por programas como wipe, srm e shred.
No entatno, lendo o restante do manpage do
shred, chego a seguinte parte:
In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file
data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed
by adding the data=something option to the mount options for a particular file system in the /etc/fstab file, as documented in the mount man page (man
mount).
Ou seja se o ext3 estiver configurado como data=ordered que parece ser o default ou data=writeback, o programa funciona corretamente.
Alguém que tenha se aprofundado mais no tema poderia me esclarecer se os métodos de exclusão segura são efetivos em ext3/ext4? Tenho essa dúvida pois fiz 2 testes: estou em dúvida com relação ao segundo teste.
1º - Rodei o
extundelete --restore-all em toda a partição a partir de um liveusb. Ele recuperou arquivos tão antigos que fiquei surpreso! Porém esses arquivos não tinham sido excluídos de forma segura. Depois rodei o
sfill em toda a partição e voltei a rodar o
extundelete.
Não recuperou nada.2º - Exclui um arquivo de usando o
shred -fuz -n1. Rodei o
extundelete --restore-all. Recuperou a pasta e o arquivo com zeros no nome por causa do argumento z no shred. Mas tentei abrir o arquivo e estava corrompido.