Como apagar automaticamente os arquivos originais depois de criptografar com GPG?

3

Eu preciso usar o GPG em uma pasta com muitos arquivos e subpastas. Eu posso usar "find" + "gpg" para isso e eu posso criptografar todos os arquivos, mas o meu problema é o GPG não excluir o arquivo original após a criptografia bem-sucedida.

Qual é a melhor e mais segura forma de excluir o (s) arquivo (s) original (is) depois que o GPG faz a criptografia corretamente? Eu não quero excluir meus arquivos prematuramente e eu não quero remover arquivos não criptografados (devido a erro, problemas de permissão etc com operação GPG) de forma inadequada.

obrigado

    
por yarun can 17.02.2015 / 23:22

1 resposta

3

shred soa como sua arma preferida, para excluir com segurança arquivos, mas veja abaixo as limitações do sistema de arquivos.

E se você estiver usando o terminal, algum script bash / sh pode ser útil. Se você quiser usar uma linha de verificação de erros? Assim, para mover um arquivo, se ele estiver criptografado corretamente, e imprimir uma mensagem, se não estiver?

gpg --encrypt <options> "$file" && mv "$file" todel-folder || echo "Error, $file did not encrypt"

Ou você poderia reunir algumas "se sucesso" de várias linhas & "se falhar" itens para log, usando algumas chaves:

gpg --encrypt <options> "$file" && {
  echo "gpg on $file successful" >> logfile
  mv "$file" todel-folder
  } || {
  echo "Error, $file did not encrypt" >> logfile
}

Depois disso, você pode excluir / limpar com segurança / shred os arquivos em todel-folder ou apenas destruí-los imediatamente em vez de usar mv :

gpg --encrypt <options> "$file" && {
    echo "gpg on $file successful" >> logfile
    shred "$file" && { 
        echo "shred on $file successful" >> logfile
        } ||  {
        echo "shred on $file successful" >> logfile
        }
    } || {
    echo "Error, $file did not encrypt" >> logfile
}

Veja man shred para algumas opções e avisos:

shred - overwrite a file to hide its contents, and optionally delete it

CAUTION: Note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. The following are examples of file systems on which shred is not effective, or is not guaranteed to be effective in all file system modes:

  • log-structured or journaled file systems, such as those supplied with AIX and Solaris (and JFS, ReiserFS, XFS, Ext3, etc.)

  • file systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems

  • file systems that make snapshots, such as Network Appliance's NFS server

  • file systems that cache in temporary locations, such as NFS version 3 clients

  • compressed file systems

In the case of ext3 file systems, the above disclaimer applies (and shred is thus of limited effectiveness) only in data=journal mode, which journals file data in addition to just metadata. In both the data=ordered (default) and data=writeback modes, shred works as usual. Ext3 journaling modes can be changed by adding the data=something option to the mount options for a particular file system in the
/etc/fstab file, as documented in the mount man page (man mount).

    
por 18.02.2015 / 00:16