Como *realmente* remover arquivos do Linux?
Provalvemente você remove arquivos usando rm file_passwords.txt.asc
, que neste caso é um arquívo criptografado em AES256 de senhas. Mas você sabia que ao fazer isso o arquívo não é deletado do seu computador?
Por que?
No back-end
desse processo o seu PC está apenas "abrindo" os blocos de memórias, onde o arquivo está armazenado, para que eles possam ser sobrescrevido. Muitas das vezes, o arquívo pode ser recuperado em até 99%, e obter o conteúdo dele mesmo estando "deletado".
Como deletar de forma absoluta
Para isso, no Linux normalmente temos o comando shred
, ele faz vários processos para que o arquívo não seja recuperado. Nem mesmo a NASA consegue recuperar arquívos apagado assim.
Vale lebrar que, dependendo do tamanho do arquívo e do número de interações, esse processo de deletar arquivos pode demorar minutos, horas ou até dias. Mas para arquívos com menos de 1~5 GB é bem rápido dependendo do seu processador.
Comandos
.../run $ cat file_passwords.txt
12345678
passwords
senhareal
senhasenha
1234321000
$ shred -n 10 file_passwords.txt.asc
-n
número de interações
Após executar esse comando, vamos visualizar o arquivo que ainda não foi apagado. Espere, vamos chegar lá.
$ cat file_passwords.txt
{ߊO�\@�|d [5�xv&1X���uv;�� �<\ ��JDmQ����)`6�'יߜ>�N_"M�"ƍAvrr���Fv���f,Z rz�
�B2&*˵Ӯ�Ab^�1
eW��ߦwÌ�0J:f7'2:}h?FM僒7ى�b�/,,�r!ޖ?>358�oO���o`�*m�]eTEM�?Nwf����}o�ʃ%k~Ta2Ou.'b_�J½4~0Bɼ�"���IIGU@C5m(Y��\3��˖�Y,ݓ^|]Ԍ1#��U
0=M(`F�eYGy$�Y!Yc3iiqG}$#nQB�ə� Km0ez^ʜ"Iaê/�7dgalS�Cdr���-�h�y(CMˊ��رu9s"܆H/
ν\UY�C&�~
...
Você deve observar que o arquívo teve uma mudança. Ele foi bagunçado aleatoriamente, mas espere a memória ainda não foi "liberada".
Vamos terminar logo este trabalho, e deletar de uma vez e dar um set
no bloco de memória para 0
como veio de fábrica.
$ sherd -n 4 -u -z -v file_passwrods.txt
-u
desalocar e remover o arquívo-z
"zerar" os blocos-v
modoverbose
Finalização
Claro, remover arquívos com shred
pode ser apenas quando você quer apagar arquívos sensíveis ou coisas importantes, imagens importante, etc. Caso queira adicionar o comando srm
para se referir Secure Remove
adicione isso em seu .bashrc
:
alias srm="shred -n 5 -z -u -v"
Use source ~/.bashrc
e pronto.
Fonte
- Canal slackjeff
man shred
manual no Linux