Como excluir arquivos e limpar discos com segurança no Linux: comandos dd e dc3dd

Como excluir arquivos e limpar discos com segurança no Linux: comandos dd e dc3dd

Imagine que você precisa excluir alguns arquivos confidenciais de um disco do computador ou de um pendrive conectado.

Ou ainda, precisa limpar todos os dados presentes em um disco para que ele possa ser reaproveitado, reinstalado, doado, vendido ou mesmo descartado.

Como proceder para que nenhuma informação contida nesse disco acabe em mãos erradas?

Neste caso podemos lançar mão de algumas ferramentas muito interessantes disponíveis para o Linux.

Podemos citar algumas ferramentas muito úteis para limpar dados de um disco de forma definitiva:

  • dd
  • dc3dd
  • shred
  • wipe
  • scrub

Neste artigo aprenderemos a limpar discos e partições com o uso dos utilitários dd e dc3dd.

Utilitário dd

O utilitário dd permite converter, formatar e copiar arquivos, sendo muito utilizado para efetuar backup de partições e discos, ou partes de discos como a área de MBR, por exemplo.

Porém, também podemos limpar totalmente um disco utilizando a ferramenta dd. Suponhamos uma partição em disco, /dev/sdb1, que contenha dados confidenciais e que deva ser apagada totalmente para evitar vazamento dessas informações. Vejamos o conteúdo de um diretório hipotético neste disco, montado no diretório /confidencial:

$ df -h /dev/sdb1
$ ls /confidencial

Comando dd no Linux 01

Temos um arquivo chamado top-secret no disco, e queremos limpá-lo em definitivo. Simplesmente apagar o arquivo provavelmente não irá adiantar, pois existem diversas técnicas que permitem recuperar dados de discos mesmo depois de apagados – e até mesmo depois do disco ter sido formatado!

Na verdade, queremos limpar o disco todo, pois ele pode ter inúmeros arquivos que não devem ser acessados por mais ninguém, mesmo que alguém consiga ter acesso físico ao disco.

Usaremos então a ferramenta dd para limpar totalmente o disco. Podemos usá-la para preencher o disco com zeros e sobrescrever o conteúdo atual. Para isso, basta copiar o conteúdo do arquivo especial /dev/zero para o disco sdb:

$ sudo dd if=/dev/zero of=/dev/sdb

O procedimento é um pouco demorado, pois o disco será totalmente preenchido com zeros. Vejamos seu conteúdo após o término da operação:

Clonar discos no Linux com dd

Agora o disco está cheio de zeros, e não há nenhum arquivo disponível.

Veja que a partição continua montada e disponível:

$ df -h /dev/sdb

apagar arquivos com segurança no linux

Uma outra maneira seria copiar o conteúdo do arquivo especial /dev/urandom para o disco sdb, o que o preencheria com dados aleatórios (em vez de zeros):

$ sudo dd if=/dev/urandom of=/dev/sdb

Vejamos agora como podemos usar o comando dc3dd para apagar o conteúdo de partições ou discos. Antes disso, desmontarei e formatarei novamente o disco /dev/sdb1, montarei-o no diretório /confidencial e criarei novamente nosso arquivo de testes top-secret.

Utilitário dc3dd

O utilitário dc3dd pode ser usado para copiar e converter arquivos e clonar discos e partições, assim como o comando dd. É, na verdade, uma versão “melhorada” do comando dd.

Vamos primeiramente instalar o utilitário dc3dd:

$ sudo apt-get install dc3dd

E na sequência rodaremos o comando whereis para mostrar que ele foi instalado no sistema:

$ whereis dc3dd

Comando dc3dd no Linux

Ferramenta instalada com sucesso. Agora vamos utilizá-la. Um pouco diferente do exemplo anterior, vamos apagar todo o conteúdo da partição sdb1 e preenchê-la com um caractere qualquer, como a letra x para que os dados sejam sobrescritos.

Vejamos o conteúdo atual do disco e de sua partição:

$ df -h /dev/sdb1
$ ls -l /confidencial

como usar o comando dc3dd no linux

Vamos agora apagar todo o seu conteúdo usando o comando dc3dd:

$ sudo dc3dd wipe=/dev/sdb1 tpat=x

Comando dc3dd no linux - apagar arquivos

Você pode acompanhar o andamento da operação no próprio terminal. Usamos as opções wipe e tpat, que significam:

  • wipe=/dev/sdb1: Apagar todo o conteúdo do dispositivo /dev/sdb1 e preenchê-lo com um padrão de caracteres; se um padrão não for fornecido com tpat ou pat, o padrão será preencher o disco ou partição com zeros.
  • tpat=x: Usar como padrão de preenchimento o caractere x.

Após algum tempo a operação será finalizada. Veja o resultado reportado:

apagar arquivos com segurança no linux com dc3dd

Vamos ver agora com ficou o conteúdo da partição. Primeiramente rodaremos o comando ls -l para ver se há algum arquivo restante:

$ ls -l /confidencial

Comando dc3dd linux

Os arquivos sumiram e agora é reportado inclusive um erro de entrada/saída.

Vamos ler o conteúdo dos setores da partição. Para isso copiaremos alguns bytes da partição usando o comando dd com as opções:

  • bs=512 (tamanho dos blocos lidos = 512 bytes)
  • count=2 (número de blocos a ler = 2)
  • if=/dev/sdb1 (partição a ser lida)
  • of=/home/fabio/prova (arquivo para onde copiaremos o conteúdo encontrado na partição)

Executando o comando:

# dd if=/dev/sdb1 of=/home/fabio/prova bs=512 count=2

Limpar arquivos de forma segura no linux com dd e dc3dd

E agora vamos ver o conteúdo do arquivo criado (/home/fabio/prova):

Como apagar arquivos no linux em definitivo

Como previsto, recheado de caracteres “x”, que foi o caractere escolhido para preencher o disco /dev/sdb1.

Portanto, a partição foi totalmente apagada e sobrescrita com um caractere escolhido, usando-se o comando dc3dd.

Mais informações sobre as diversas opções desse comando podem ser obtidas chamando sua ajuda:

$ dc3dd --help

No próximo artigo continuaremos a analisar outras ferramentas úteis para apagar de forma segura partições e também arquivos individuais.

 

Sobre Fábio dos Reis (1344 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

2 Comentários em Como excluir arquivos e limpar discos com segurança no Linux: comandos dd e dc3dd

  1. Boa noite Fábio!

    Seus ensinamentos tem me ajudado muito!
    Parabéns pelo excelente trabalho!

Escreva um comentário

Seu e-mail não será divulgado


*