Usando 'shred' da linha de comando

41

Eu preciso apagar com segurança alguns arquivos. Eu usei shred em sistemas Linux antes, então olhei em volta e descobri que shred é parte do pacote coreutils em macports. Eu fiz port install coreutils para instalar o coreutils, mas ainda não consigo encontrar shred na linha de comando.

Como posso obter shred para trabalhar na linha de comando do meu mac? Se for importante, estou usando o Mac OS X 10.7.5 (Lion)

    
por inspectorG4dget 09.07.2013 / 17:23

3 respostas

23

port install coreutils adiciona um prefixo g aos nomes dos binários, por isso o fragmento é /opt/local/bin/gshred .

    
por 09.07.2013 / 19:26
56

O OSX possui um comando incorporado srm para remover arquivos com segurança. Consulte o link . Você também pode usar rm -P para sobrescrever os arquivos com sequências de bytes três vezes.

Com o sierra ou posterior, o macOS não inclui mais o srm. Mas os usuários podem instalá-lo com homebrew:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm
    
por 09.07.2013 / 17:36
13

@ user495470 a resposta está correta para a questão colocada. O problema é que nem srm ou shred realmente fazem sentido para os sistemas modernos.

Isso se deve principalmente aos SSDs. Ao contrário dos discos magnéticos, os modernos discos ativados por TRIM apagam automaticamente os dados apagados em segundo plano.

Os SSDs também executam o nivelamento de desgaste. Isso faz com que as tentativas de "sobrescrever" um arquivo sejam inúteis (você estará gravando em um local físico diferente) e indesejáveis (ele contribui desnecessariamente para o desgaste do disco).

Todos os Macs que vêm com SSDs têm TRIM ativado.

O outro problema é o sistema de arquivos, especificamente os sistemas de arquivos registrados, que podem manter uma cópia dos dados em outro lugar antes de serem gravados.

Mesmo em mídia magnética, isso pode causar problemas para srm :

All users [..] should be aware that srm will only work on file systems that overwrite blocks in place. In particular, it will NOT work on [..] the vast majority of journaled file systems.

E shred :

[..] shred relies on a very important assumption: that the file system overwrites data in place. [..] many modern file system designs do not satisfy this assumption. Exceptions include: Log-structured or journaled file systems [..]

Os volumes do HFS Plus são registrados por padrão desde o Mac OS X v10.3.

Hoje em dia, a melhor maneira de excluir arquivos "excluídos" com segurança é habilitar o FileVault (para que eles nunca sejam gravados em disco não criptografados), basta excluí-los e deixar que o TRIM resolva o problema.

Se, por um golpe de sorte, você estiver em um meio magnético, se o diário estiver desabilitado e, por algum motivo, não conseguir criptografar o disco, suas opções são:

  • Use rm -P , que substitui arquivos com 0xff , depois 0x00 e, em seguida, 0xff
  • Instale coreutils para gshred (ou seja, brew install coreutils && gshred secrets.txt )
  • srm foi removido de homebrew-dupes e homebrew-core , mas alguém é publicou um toque aqui que funciona (ou seja, brew install khell/homebrew-srm/srm && srm secrets.txt )
  • Destruição física do meio :)
por 14.05.2017 / 06:57