shred
de um único arquivo tem apenas esperanças de ser seguro, desde que você possa garantir que nenhuma outra cópia desse arquivo tenha sido feita. Isso pode funcionar bem para arquivos realmente grandes (filmes) - supondo que você não os recodifique novamente, e nem bem para arquivos pequenos, documentos e tudo o que você realmente trabalha.
Toda vez que você clicar em "Salvar", você terá outra cópia. Porque salvar trunca o arquivo para 0 bytes e grava um novo arquivo - geralmente em um local fisicamente diferente. Mesmo o sistema de arquivos não sabe mais onde a cópia antiga estava localizada, então não há como deletar isso com shred
ou qualquer outro utilitário.
E assim você acaba substituindo todo o espaço livre. Isso é muito melhor do que destruir arquivos únicos, mas vem com suas próprias armadilhas ... você precisa ser root para sobrescrever a reserva de raiz, e sistemas de arquivos não gostam de estar completos - qualquer outra escrita acontecendo ao mesmo tempo o tempo irá falhar, assim você acaba com a perda real de dados no processo.
Assim como este método:
truncate -s 1E sparsefile
shred -v -n 1 sparsefile
sync # other programs will lose data at this point
rm sparsefile
Com o SSD você obtém o zerofree como um recurso embutido, o fstrim / descarte faz exatamente isso, livra-se do espaço livre de maneira rápida e fácil. Basicamente, com o SSD, você não poderá recuperar nenhum arquivo excluído após o corte ter ocorrido.
É seguro? Isso depende do sistema de arquivos e do tamanho do arquivo do qual você deseja se livrar. Alguns sistemas de arquivos têm recantos e fendas, como vários arquivos pequenos compartilhando um único bloco, e esse espaço não será sobrescrito ao criar um grande arquivo cheio de dados aleatórios. Também pode haver outros vestígios, como um nome de arquivo restante em uma entrada de diretório ...
Você não pode evitar a substituição do dispositivo inteiro uma vez.
# backup everything
blkdiscard /dev/sda # SSD
shred -v -n 1 /dev/sda # HDD
# create partitions, filesystems, restore backup