Abra vários arquivos criptografados com vim com a mesma senha

4

Digamos que eu tenha três arquivos na mesma pasta, a.txt , b.txt e c.txt , todos eles criptografados (com o Vim) com a mesma senha ("asdf", por exemplo). Existe uma maneira de abrir os três inserindo a senha apenas uma vez?

Obrigado.

    
por Franco Victorio 28.04.2014 / 18:31

2 respostas

2

A senha de criptografia usada pelo Vim para criptografar e descriptografar arquivos é armazenada na variável key , consulte :help encryption . Essa variável é normalmente local para um buffer Vim, portanto, o Vim usa uma senha exclusiva para cada arquivo criptografado que é aberto ou salvo. O Vim solicitará uma nova senha quando um arquivo criptografado diferente for aberto pela primeira vez.

Para tornar a senha global, insira

:set key=asdf

no Vim, onde asdf é a senha. Depois de dar explicitamente à variável key um valor como este, o Vim usará a mesma senha para os arquivos criptografados subseqüentes que são abertos com :e ou :n na mesma instância do Vim.

A variável key pode ser definida na linha de comando do Vim usada para abrir os arquivos com

vim --cmd "set key=asdf" a.txt b.txt c.txt
Cuidado: isso registra a senha no arquivo do histórico do shell (por exemplo, ~/.bash_history ) e para todos os outros usuários no sistema, simplesmente observando uma lista de processos em execução com ps .

Outras soluções para criptografar arquivos transparentemente com o Vim são possíveis, o wiki do Vim oferece esta página de dicas sobre criptografia , incluindo executando PGP ou GnuPG automaticamente ao abrir e salvar arquivos baseados na extensão do arquivo.

    
por Mike Miller 15.05.2014 / 19:17
1

Digite a chave antes de abrir o primeiro arquivo com este cmd:

vim -c ":let &key=inputsecret('key=')|:bdel dummy" dummy a.txt b.txt c.txt 

Editar 1. Para responder a pergunta no comentário abaixo. Se você quiser que os arquivos sejam abertos juntos em abas, como vim -p a.txt b.txt c.txt

 vim -c ":let &key=inputsecret('key=')|:tab all|:bdel dummy" dummy a.txt b.txt c.txt 

Mais opções: set viminfo= noswapfile bin cm=blowfish

Precisa de um arquivo simulado dummy , porque a caixa de diálogo de entrada aparece somente depois que o primeiro arquivo é carregado, mesmo com --cmd. Nesse caso, você deve digitar a chave uma vez.

Não use *--cmd="set key=asfd"* ; porque args do processo podem ser vistos com o comando ps para outros usuários, podem ser logados no syslog e também salvos no seu bash_history.

    
por mosh 07.08.2016 / 12:49