Estou escrevendo um script que cria arquivos de projeto e, em seguida, cria arquivos 7z para facilitar a gravação de versões específicas e a manutenção de backups criptografados.
Depois de gerar os arquivos e chegar à fase de criptografia, gostaria de criptografar os arquivos com uma chamada, gpg
se possível, para que o usuário insira sua senha apenas uma vez. Caso contrário, teríamos que armazenar em cache a senha do usuário na memória (o que eu realmente gostaria de não fazer) ou solicitá-las e confirmar sua senha para todos os projetos arquivados (o que é pior).
Existe uma maneira de passar vários nomes de arquivos para gpg
criptografar todos eles de uma só vez?
Se eu tentar isso:
$ gpg --cipher-algo AES256 --compression-algo BZIP2 -c project1.7z project2.7z
... Vejo o seguinte erro no shell:
usage: gpg [options] --symmetric [filename]
Existe uma maneira de fazer o que estou procurando realizar?
Respostas:
Não, não há.
Você provavelmente passará a senha com uma das seguintes opções de gpg (a última seria a opção mais segura):
fonte
Como o GnuPG não suporta isso diretamente, a maneira de fazer isso seria adicionar outra camada, por exemplo, usando
tar
.E para extrair:
Você ficará com
project1.7z
eproject2.7z
. Seu script pode então continuar de onde você parou.fonte
Se você quiser tentar outra coisa, então GPG, existem outros métodos de backup para criptografar vários arquivos:
fonte original: http://www.obsd.hu/docs/Unix-backup-with-aes.txt
Uso: basta usar "backup DIRECTORY" para criptografar e "descriptografar DIRECTORY.tar.gz.aes"
fonte
Conseguiram fazer algo assim hoje:
Alterei o diretório para o diretório que contém os arquivos de destino e executou um script Bash para encontrar os nomes de arquivo necessários e listá-los em um arquivo de texto que eu chamei
found.txt
.Executei um script Bash pedindo ao gpg2 para ler cada nome de arquivo em um loop e em uma variável de memória, e no mesmo loop para criptografá-lo usando minha chave de assinatura e especificando que era para ser lido sozinho. O gpg2 cria um pop-up para inserir sua frase secreta, que pop-up possui uma pequena caixa de seleção onde você pode optar por manter sua frase secreta ativa para a sessão. Má prática, mas não tão ruim se você não estiver na Internet e desligar imediatamente após a sessão de criptografia.
O único problema era que havia ay / n a ser tratado. Então sentei-me com o dedo na tecla Y e criptografei os arquivos de 51 nos em menos de um minuto.
Os scripts são apresentados abaixo:
O script 'find' era um arquivo chamado
FindFilesAndListtoTextfile.sh
:O script de criptografia foi chamado ReadFilenameAndEncrypt.sh:
Isso deve ser executado como um usuário comum:
Espero que isto ajude. Ainda não descobri como evitar o y / n.
fonte
O comando a seguir funciona para mim desde que eu não tenha nenhum nome de arquivo com espaços.
Você também pode usar o comando find.
Por fim, se você deseja usar um arquivo para a senha, use:
fonte
Sim, existe uma maneira fácil:
fonte
eco "Digite uma senha:"
ler senha
encontrar . -type f -exec gpg --passphrase $ senha -c {} \;
Hmmmmmm GPG solicita com uma GraphicMessageBox uma senha para cada arquivo.
Então, decidi usar o CRYBULL (programa de criptografia que criei) no C-ANSI. Você pode baixar gratuitamente em www.labolida.com
encontrar . -type f -exec crybull {} {} .cry $ senha encode \;
fonte