Шифрование файлов с помощью редактора vim в Linux

Опубликовано: 16 Февраля, 2022

Vim, популярный текстовый редактор, имеет встроенную функцию шифрования файлов с помощью пароля. Vim использует алгоритмы вроде Blowfish для шифрования файлов. Это быстрее и удобнее, чем некоторые другие доступные утилиты.

Для начала все, что вам нужно, это система с установленной полной версией vim. Некоторые дистрибутивы Linux поставляются с минимальной версией vim, которая не поддерживает шифрование файлов и показывает сообщение об ошибке « Извините, команда недоступна для этой версии », если мы попытаемся ее зашифровать. Есть два разных способа зашифровать файл .

Первый способ - создать новый файл с включенным шифрованием по умолчанию,

$ vim -x имя файла

Это создаст новый файл и откроет запрос на ввод ключа шифрования. Дважды введите свой ключ и нажмите Enter . Теперь все, что мы вводим в этот файл, будет зашифровано при сохранении, и для чтения этого файла потребуется ключ каждый раз, когда мы пытаемся открыть его с помощью любых текстовых редакторов.

To encrypt an existing file, open the file with vim and press “ESC” key to enter into the command mode, then type command :X to get a prompt to enter the key. type your key twice and press enter. That’s it, the file is protected now. Note that vim commands are case sensitive and hence :X and :x carries a different meaning.

Second method to do the same is to type :set key="mykey" in the command mode. However, it is not recommended because the entered key might be visible in ~/.viminfo file, which contains your history of vim commands. Next time, whenever we try to open that file, vim will ask for the key. Entering the correct key will display content.

Файл все равно откроется, даже если мы попытаемся открыть его в каком-либо другом редакторе, кроме vim, или предоставим неверный ключ или его нет, но содержимое не будет в удобочитаемом формате. Будет показано что-то вроде:

Детали в нижнем содержании показывают используемый алгоритм шифрования, которым в нашем случае является blowfish.

Changing/ Removing key: Changing or removing encryption is very easy. Just open the file and get a key prompt by typing :X and enter your new key. To remove protection from file, do not enter anything and press Enter twice by keeping space empty.

Теперь, когда мы знаем трюк, мы готовы заблокировать все файлы, содержащие конфиденциальную информацию. Но подождите, а надежен ли этот метод? Мы будем использовать это? Ну, это зависит от обстоятельств. Хотя алгоритм blowfish работает очень хорошо, использование vim для шифрования может быть проблематичным, поскольку нет ограничений на запись в файл, даже если он зашифрован.

Consider a scenario, where you create an encrypted file and store some important data into it. Now, next time while opening it, you accidentally entered incorrect key. So, what vim will do is display some text, not in a readable format. To go back and retry, instead of :q if you type :wq by mistake, vim will overwrite the file by replacing displayed text, not in a readable format with the original text. In such cases, data might not be recovered.