Certifique-se de que o Vim do seu sistema tenha suporte de criptografia
Algumas distribuições do Linux, incluindo o Ubuntu, incluem uma versão mínima do vim por padrão, destinada apenas à edição básica de texto. Por exemplo, o Ubuntu chama este pacote de “vim-tiny”. Se você tentar usar a criptografia em uma versão mínima do vim, verá a mensagem "Desculpe, este comando não está disponível nesta versão".
sudo apt install vim
Como criptografar um arquivo com uma senha
O processo básico é relativamente simples se você souber usar o vi. Se você não fizer isso, poderá ficar preso na interface modal do vi. Quando você abre um arquivo de texto no vim, existem dois modos. Por padrão, você está em um "modo de comando", no qual pode usar as teclas do teclado para executar comandos. Você também pode pressionar "i" para entrar no "modo de inserção", onde você pode digitar normalmente e mover o cursor com as teclas de seta, como faria em outros editores de texto. Para sair do modo de inserção, pressione "Esc" e você estará de volta ao modo de comando.
Primeiro, lance o vim. Por exemplo, o comando a seguir iniciará o vim e o apontará para um arquivo chamado “exemplo” no diretório atual. Se esse arquivo não existir, o vim criará um arquivo chamado "exemplo" no diretório atual quando você salvá-lo:
vi example
Você também pode apontar vi em outro caminho com um comando como o abaixo. Você não precisa criar um arquivo no diretório atual.
vi /path/to/file
:X
e pressione Enter.
O Vim irá avisar que você está usando um método de criptografia fraco por padrão. Mostraremos como usar um método de criptografia mais seguro posteriormente.
:wq
e pressione Enter para gravar o arquivo no disco e sair do Vim.
vi example
“-Vim irá pedir a senha associada ao arquivo.
Aviso: Não salve o arquivo se você abri-lo e ver algo sem sentido. Isso salvará os dados corrompidos no arquivo e substituirá os dados criptografados. Apenas corra
:q
para sair do Vim sem salvar o arquivo no disco.
vim /path/to/file
“, Você pode executar o seguinte comando para que o vim crie ou abra um arquivo e solicite imediatamente que você criptografe o arquivo com uma senha:
vi -x /path/to/file
Note que você precisa usar um x minúsculo aqui, enquanto você precisa usar um X maiúsculo ao executar o comando de criptografia associado de dentro do Vim.
Como ativar criptografia mais forte no Vim
Por padrão, o Vim usa uma criptografia muito ruim para esses arquivos. O método de criptografia padrão "zip" ou "pkzip" é retrocompatível com as versões 7.2 e inferiores do vim. Infelizmente, pode ser muito fácil, mesmo em hardware dos anos 90. Como a documentação oficial coloca: “O algoritmo usado para 'cryptmethod'“zip”é quebrável. Uma chave de 4 caracteres em cerca de uma hora, uma chave de 6 caracteres em um dia (em um PC Pentium 133).”
Você não deve usar a criptografia pkzip para seus documentos de texto se quiser alguma segurança. No entanto, o Vim fornece melhores métodos de criptografia. A versão 7.3 do Vim lançado em 2010 adicionou um método de criptografia “blowfish”, o que é melhor. A versão 7.4.399 lançada em 2014 incluiu um novo método de criptografia Blowfish que corrige problemas de segurança no método original de criptografia “blowfish” e o chama de “blowfish2”.
O único problema é que os arquivos criados com métodos de criptografia mais fortes exigem essas versões mais recentes do Vim. Então, se você quiser usar a criptografia "blowfish2", só poderá abrir esse arquivo com as versões 7.4.399 e posteriores do Vim. Contanto que você esteja bem com isso, você deve usar o método de criptografia mais forte possível.
Para verificar qual método de criptografia um arquivo está usando, abra o arquivo no vim, pressione a tecla Esc para garantir que você esteja no modo de comando, digite o seguinte comando e pressione Enter.
:setlocal cm?
O "cm" aqui significa "cryptmethod".
:setlocal cm=blowfish2:setlocal cm=blowfish:setlocal cm=zip
:w
comando para gravar o arquivo no disco ou o
:wq
comando para gravar o arquivo no disco e sair.
Como alterar ou remover uma senha
Para remover uma senha de um arquivo, abra esse arquivo no Vim e execute o
:X
comando. Você será solicitado a fornecer uma nova chave de criptografia. Digite a nova senha que você deseja usar aqui. Para remover completamente a senha, deixe o campo de senha em branco e pressione Enter duas vezes.
Salve o arquivo e saia depois com
:wq
. O arquivo será descriptografado, por isso você não será solicitado a inserir uma senha quando abrir o arquivo no futuro.