Existem várias opções, mas todas podem deixar você com um arquivo descriptografado no disco, aguardando para ser recuperado posteriormente. O Shred pode até mesmo ter problemas ao excluir com segurança um arquivo (se houver um log / diário, gravações redundantes / RAID, caches temporários, sistemas de arquivos compactados) e um SSD poderia trocar setores silenciosamente também. Mesmo usando um sistema de arquivos tmpfs
está sujeito a ser gravado para trocar. E o programa de edição que você usa pode deixar ainda mais arquivos temporários / cache. Se todo o seu sistema de arquivos e swap é criptografado, o que ajuda muito, mas você realmente precisa de mais criptografia?
Se você está apenas salvando o texto básico (como senhas), sugiro usar um programa específico como KeePass (X / XC), LastPass, etc. Ou um método de criptografia diferente, que criptografa arquivos como o eCryptfs, EncFS, ou que criptografa dispositivos como o LUKS ou um sucessor do TrueCrypt.
Mas com apenas o GPG, você pode usar uma dessas opções
-
--passphrase-fd n
Leia a frase secreta do descritor de arquivo n. Apenas a primeira linha será leia do descritor de arquivo n. Se você usar 0 para n, a frase secreta será leia de STDIN. Isso só pode ser usado se apenas uma frase secreta for fornecida.Observe que essa senha só é usada se a opção --batch também tiver Foi dado. Isso é diferente da versão 1.x do GnuPG.
-
--passphrase-file file
Leia a senha do arquivofile
. Apenas a primeira linha será lida arquivofile
. Isso só pode ser usado se apenas uma frase secreta for fornecida. Obviamente, uma senha armazenada em um arquivo é de segurança questionável se outros usuários podem ler este arquivo. Não use essa opção se puder evitar isto. Note que esta senha só é usada se a opção - batch tiver também foi dado. Isso é diferente da versão 1.x do GnuPG. -
--passphrase string
Use string como a frase secreta. Isso só pode ser usado se apenas um senha é fornecida. Obviamente, isso é de segurança muito questionável em um sistema multiusuário. Não use essa opção se puder evitá-la. Nota que esta senha só é usada se a opção - batch também tiver sido dado. Isso é diferente da versão 1.x do GnuPG.
Para as opções acima, você provavelmente precisará de --pinentry-mode loopback
(permite inserir novas informações, por exemplo, um novo nome de arquivo se houver um conflito) ou --batch
caso contrário, o gpg apenas ignorará as opções de frase secreta e ainda perguntará ao agente para uma senha (um bug IMO).
Isso pode ser útil também:
-
--passphrase-repeat n
Especifique quantas vezes o gpg solicitará que uma nova senha seja repetida. Isso é útil para ajudar a memorizar uma frase secreta. O padrão é 1 repetição.
Você só pode digitar a senha uma vez e read
/ armazená-la em uma variável shell / bash (por exemplo, $password
), recuperando-a posteriormente com --passphrase="$password"
. Algo como
until gpg --pinentry-mode loopback --passphrase="$password" --output $file_to_edit $ecrypted_file;
do read -r password;
done
#Got out of the loop with a correct password, now
echo "Some edit" >> $file_to_edit
gpg --pinentry-mode loopback --passphrase="$password" --output $ecrypted_file --yes --symmetric $file_to_edit
( --yes
a sobrescrever)