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.
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
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.