Como proteger arquivos de texto por senha usando o Vim no Linux (ou macOS)
O editor de texto vim, uma ferramenta padrão incluída no Linux e no macOS, pode criptografar rapidamente arquivos de texto com uma senha. É mais rápido e mais conveniente do que criptografar um arquivo de texto com um utilitário separado. Veja como configurá-lo.
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 criptografia em uma versão mínima do vim, verá a mensagem "Desculpe, este comando não está disponível nesta versão".
Você pode precisar instalar a versão completa do vim para obter esse recurso em sua distribuição Linux. Por exemplo, no Ubuntu, você pode obter a versão completa do vim executando o seguinte comando:
sudo apt instala vim
A versão do vim incluída por padrão no macOS inclui suporte a criptografia, portanto, você não precisa instalar nada em um Mac. Basta iniciar uma janela de terminal a partir do Finder> Aplicativos> Utilitários> Terminal e os comandos funcionarão da mesma forma no macOS como no Linux.
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, você pode 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”, onde 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 irá criar um arquivo chamado "exemplo" no diretório atual quando você salvá-lo:
vi exemplo
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
Edite o arquivo normalmente. Por exemplo, você pode pressionar "i" para entrar no modo de inserção e digitar o texto normalmente. Ao editar um arquivo, pressione Esc para garantir que você esteja no modo de comando e não no modo de inserção. Tipo : X
e pressione Enter.
Você será solicitado a digitar uma senha com a qual o arquivo de texto será criptografado. Digite a senha que você deseja usar, pressione Enter e digite-a novamente para confirmar. Você precisará inserir essa senha sempre que quiser abrir o arquivo no futuro.
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 depois.
Uma senha será associada ao arquivo de texto atual no Vim, mas você precisará salvar suas alterações antes que a senha seja realmente atribuída ao arquivo. Para fazer isso, pressione Esc para garantir que você esteja no modo de comando e digite : wq
e pressione Enter para gravar o arquivo no disco e sair do Vim.
A próxima vez que você tentar abrir o arquivo no Vim, por exemplo, executando “vi exemplo
“-Vim irá pedir a senha associada ao arquivo.
Se você digitar a senha errada, o conteúdo do arquivo será ininteligível.
AvisoNão salve o arquivo se você abri-lo e ver rabiscos. Isso salvará os dados corrompidos de volta no arquivo e substituirá os dados criptografados. Apenas corra : q
sair do Vim sem salvar o arquivo no disco.
Há outro atalho que você pode usar aqui. Em vez de criar ou abrir um arquivo com “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 criptografia muito ruim para esses arquivos. O método padrão de criptografia “zip” ou “pkzip” é retrocompatível com as versões 7.2 e inferiores do vim. Infelizmente, ele pode ser quebrado muito, muito facilmente, mesmo em hardware dos anos 90. Como diz a documentação oficial: “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 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”, você só poderá abrir esse arquivo com as versões 7.4.399 e superiores 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".
Você verá o método de criptografia usado para o arquivo atual exibido na parte inferior da tela do vim.
Para escolher um método de criptografia, execute um dos seguintes comandos. A criptografia “blowfish2” é melhor para segurança.
: setlocal cm = blowfish2: setlocal cm = baiacu: setlocal cm = zip
Depois de selecionar seu algoritmo de criptografia, use o :W
comando para gravar o arquivo em disco ou o : wq
comando para gravar o arquivo no disco e sair.
Da próxima vez que você abrir o arquivo no Vim, ele não irá reclamar de um algoritmo de criptografia fraco. Você também verá o algoritmo de criptografia selecionado na parte inferior da tela do vim quando abrir o arquivo.
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, portanto, você não será solicitado a inserir uma senha quando abrir o arquivo no futuro.
Lembre-se de qualquer senha que você tenha definido ou você não poderá acessar o conteúdo do arquivo no futuro.