O que significa sobrescrever um arquivo, mas mantê-lo?

0

A ferramenta wipe tem a opção -k Keep files, i.e. do not remove() them after overwriting .

O que isso significa para não remover um arquivo que foi ... bem ... apagado?

    
por cipricus 27.06.2018 / 17:34

2 respostas

3

A página de manual descreve -k assim:

Keep files: do not unlink the files after they have been overwritten. Useful if you want to wipe a device, while keeping the device special file. This implies -F.

O principal caso de uso para -k é

wipe -k /dev/sda

que substituirá todo o conteúdo da unidade, sem remover o nó do dispositivo.

Se você usá-lo em um arquivo "padrão", ele limpará o conteúdo do arquivo, mas deixará o arquivo em si (seu nome e sua presença no diretório pai) sozinho.

    
por 27.06.2018 / 17:36
1

Programas como wipe e shred que pretendem substituir o trabalho de dados de arquivo usando as mesmas interfaces que qualquer outro programa. Eles usam as funções usuais do sistema operacional para escrever, e. zeros para o arquivo e espero que o sistema de arquivos armazene os novos dados nos mesmos blocos de disco que os dados antigos, sobrescrevendo os dados antigos. Eles não têm nenhum método especial para destruir os dados ou tornar o arquivo inacessível, a não ser removê-los via unlink() .

Por isso, manter um arquivo após ser sobrescrito é apenas isso, o arquivo permanece e não é removido. Apenas o conteúdo mudou.

Um exemplo com shred , que não desassocia o arquivo por padrão:

$ cat somefile 
some secret data
$ shred somefile 
$ ls -l somefile 
-rw-r--r-- 1 username username 4096 Jun 27 19:28 somefile
$ od -tx1 somefile |head -2
0000000 2b d7 fe 76 a0 4c 79 4e b6 bc 26 7d 6c b0 4e ed
0000020 81 a2 bf 3f ce af ce f0 07 2b fe 80 50 39 e3 c9

Após o shred , o arquivo permanece cheio de bytes aleatórios. O arquivo não é truncado ou removido. Seu tamanho realmente aumentou, pois shred arredonda o tamanho do arquivo quando sobrescreve (para sobrescrever o último bloco de dados inteiro).

Claro que podemos remover o arquivo com rm somefile .

Observe que as suposições das quais a sobreposição depende não podem ser mantidas para todos os sistemas de arquivos. Pelo menos o registro em diário dos dados do arquivo (possível no ext4) e dos sistemas de arquivos copy-on-write (btrfs) tornará a sobrescrita ineficaz basicamente armazenando várias cópias dos dados.

    
por 27.06.2018 / 18:36