Como excluir arquivos com segurança no Linux usando o shred

Quando você exclui um arquivo em seu computador, o sistema limpa os blocos em seu armazenamento removendo a referência ao arquivo. O arquivo não desaparece repentinamente e ainda pode ser acessado por meio de um software avançado, que pode não ser o que você deseja.

Qualquer pessoa com uma ferramenta de recuperação de arquivos pode extrair os arquivos excluídos de seu armazenamento e visualizar seu conteúdo. Mas e se você não quiser que isso aconteça? E qual é a melhor maneira possível de excluir arquivos no Linux para que ninguém possa recuperá-los?

É aqui que o utilitário fragmentar entra em ação. Este artigo discutirá o comando shred em detalhes, suas limitações e como usá-lo para excluir arquivos com segurança no Linux.

O que é fragmentação e como funciona?

O Shred é um utilitário de linha de comando que sobrescreve o conteúdo de um arquivo várias vezes com dados aleatórios para torná-lo irrecuperável. Ele também permite que você exclua o arquivo após sobrescrever seus dados.

"Por que ele sobrescreve o conteúdo do arquivo?", Você pode perguntar. Vamos entender com um exemplo. Considere que você precisa ocultar ou "excluir" o conteúdo escrito em uma folha de papel. Claro, você pode amassá-lo e jogá-lo na lata de lixo. Mas qualquer um pode pegar a bola de papel amassada, endireitá-la e ler o conteúdo.

Por outro lado, uma trituradora de papel corta a folha de papel em tiras ou pedaços finos, tornando quase impossível para qualquer pessoa reverter o processo e visualizar o conteúdo.

É exatamente assim que o comando shred funciona no Linux. Ele substitui o conteúdo de um arquivo várias vezes com sequências de zeros, tornando impossível para qualquer pessoa visualizar o conteúdo original. E depois disso, ele pode remover com segurança o arquivo do armazenamento do sistema, se desejar.

Quando não usar fragmentação

Esteja ciente de que o shred não funciona com eficiência em todas as situações. De acordo com a página do manual do shred , o utilitário não é eficaz quando usado em determinados sistemas de arquivos. E estes são:

  • Sistemas de arquivos estruturados em log ou registrados (ext3, XFS e JFS).
  • Sistemas de arquivos baseados em RAID.
  • Sistemas de arquivos que armazenam instantâneos.
  • Sistemas de arquivos que armazenam cache.
  • Sistemas de arquivos compactados.

A página do manual do shred também afirma que o comando não funciona com ext3 apenas se estiver no modo de diário . No entanto, nos modos data = writeback e data = encomendado , a ferramenta funciona perfeitamente.

Além disso, você não deve usar o utilitário shred em SSDs, pois o processo adicional de apagar e gravar pode danificar seu armazenamento.

Relacionado: Os SSDs podem excluir seus dados com segurança?

Como usar o comando de destruição

Com o shred, você pode optar por sobrescrever e excluir um arquivo ou simplesmente sobrescrever o arquivo sem removê-lo.

Sintaxe Básica

A sintaxe básica do comando é:

 shred options filename

… onde options são os vários sinalizadores usados ​​para invocar os métodos do comando e filename é o caminho absoluto ou relativo para o arquivo no qual você deseja trabalhar.

Excluir um arquivo permanentemente

Para excluir permanentemente um arquivo usando shred, use o sinalizador -uvz com o comando padrão.

  • u : Exclui o arquivo do armazenamento
  • v : Exibe a saída em modo detalhado
  • z : sobrescreve o arquivo com zeros
 shred -uvz textfile.txt

Por padrão, o shred substitui o arquivo quatro vezes. Nas três primeiras passagens, ele substitui o conteúdo do arquivo com dados aleatórios. Na última passagem, por causa do sinalizador -z , ele sobrescreve os dados com zeros. O Shred também sobrescreve o inode para remover quaisquer metadados associados ao arquivo.

Resultado:

Substituir um arquivo por zeros

Para simplesmente sobrescrever um arquivo com zeros sem excluí-lo do sistema, remova o sinalizador -u do comando anterior.

 shred -vz textfile.txt

Resultado:

Defina o número de substituições

Conforme mencionado acima, o shred substitui os dados no arquivo quatro vezes. Se você deseja especificar um determinado número de substituições, pode fazer isso usando o sinalizador -n ou –iterations .

No entanto, observe que a destruição sempre adicionará mais uma passagem ao número que você especificar. Portanto, para sobrescrever o arquivo seis vezes, passe o número cinco no comando:

 shred -uvz -n 5 textfile.txt
shred -uvz --iterations 5 textfile.txt

Substituir os arquivos três vezes é mais do que suficiente para garantir que ninguém possa recuperar os dados. Qualquer coisa acima disso simplesmente leva mais tempo sem ter nenhum efeito significativo.

Excluir vários arquivos usando o shred

Para deletar vários arquivos, basta passar o nome dos arquivos separados com o caractere Espaço .

 shred -uvz file1.txt file2.txt file3.txt

Se você tiver um diretório que contém tipos semelhantes de arquivos, poderá usar caracteres curinga como o asterisco ( * ) para excluir ou substituir arquivos. Por exemplo, para excluir todos os arquivos TXT em seu diretório de trabalho atual:

 shred -uvz *.txt

Relacionado: Como excluir facilmente arquivos e pastas no Linux

Fragmente uma parte do arquivo

Usando o shred, você também pode corromper um arquivo destruindo os bytes iniciais de um arquivo. Por exemplo, você pode substituir ou remover o 1 KB inicial do arquivo. Para fazer isso, o sinalizador -s ou –size é o que você precisa.

Embora você possa exibir um arquivo de texto mesmo depois de destruí-lo parcialmente, os arquivos de pacote ou executáveis ​​não serão executados após a emissão do comando.

 shred -vz -s 1K textfile.txt
shred -vz --size 1K textfile.txt

O arquivo de texto original:

Executando o comando:

O arquivo de texto após emitir o comando:

O Shred aceita os três sufixos a seguir no comando:

  • K : Kilobytes
  • M : Megabytes
  • G : Gigabytes

Obtenha ajuda da linha de comando

Embora o comando shred não tenha muitos métodos e opções que você precisa memorizar, às vezes você pode querer acessar a página do manual do comando para referência.

O sinalizador –help exibe a página do manual do shred:

 shred --help

Resultado:

Remover arquivos permanentemente no Linux

O Linux oferece uma maneira fácil de remover arquivos e pastas de seu armazenamento. Mas isso não é totalmente seguro. Leva apenas alguns cliques para acessar esses arquivos excluídos usando um software de recuperação de dados.

Se você usa um computador público e não deseja que alguém veja seus arquivos e pastas, pode optar por ocultá-los. É uma maneira muito melhor de impedir que alguém visualize seus dados pessoais no Linux.