Поиск по сайту:

Как защитить паролем текстовые файлы с помощью Vim в Linux (или macOS)


Текстовый редактор vim, стандартный инструмент, включенный в Linux и macOS, может быстро шифровать текстовые файлы с помощью пароля. Это быстрее и удобнее, чем шифровать текстовый файл отдельной утилитой. Вот как это настроить.

Убедитесь, что Vim вашей системы поддерживает шифрование

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

Возможно, вам потребуется установить полную версию vim, чтобы получить эту функцию в вашем дистрибутиве Linux. Например, в Ubuntu вы можете получить полную версию vim, выполнив следующую команду:

sudo apt install vim

Версия vim, включенная по умолчанию в macOS, включает поддержку шифрования, поэтому вам не нужно ничего устанавливать на Mac. Просто запустите окно терминала из Finder > Приложения > Утилиты > Терминал, и команды будут работать в macOS так же, как и в Linux.

Как зашифровать файл паролем

Основной процесс относительно прост, если вы знаете, как использовать vi. Если вы этого не сделаете, вы можете зациклиться на модальном интерфейсе vi. Когда вы открываете текстовый файл в vim, есть два режима. По умолчанию вы находитесь в «командном режиме», в котором вы можете использовать клавиши на клавиатуре для выполнения команд. Вы также можете нажать «i», чтобы войти в «режим вставки», где вы можете печатать как обычно и перемещать курсор с помощью клавиш со стрелками, как в других текстовых редакторах. Чтобы выйти из режима вставки, нажмите «Esc», и вы вернетесь в командный режим.

Сначала запустите вим. Например, следующая команда запустит vim и укажет на файл с именем «example» в текущем каталоге. Если этот файл не существует, vim создаст файл с именем «example» в текущем каталоге при его сохранении:

vi example

Вы также можете указать vi другой путь с помощью команды, подобной приведенной ниже. Вам не нужно создавать файл в текущем каталоге.

vi /path/to/file

Отредактируйте файл как обычно. Например, вы можете нажать «i», чтобы войти в режим вставки, а затем ввести текст в обычном режиме. При редактировании файла нажмите Esc, чтобы убедиться, что вы находитесь в командном режиме, а не в режиме вставки. Введите :X и нажмите Enter.

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

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

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

В следующий раз, когда вы попытаетесь открыть файл в Vim, например, запустив «vi example», Vim запросит у вас пароль, связанный с файлом.

Если вы введете неправильный пароль, содержимое файла будет тарабарщиной.

Предупреждение. Не сохраняйте файл, если вы откроете его и увидите тарабарщину. Это сохранит поврежденные данные обратно в файл и перезапишет ваши зашифрованные данные. Просто запустите :q, чтобы выйти из Vim, не сохраняя файл на диск.

Есть еще один ярлык, который вы можете использовать здесь. Вместо того, чтобы создавать или открывать файл с помощью «vim /path/to/file», вы можете запустить следующую команду, чтобы vim создал или открыл файл и немедленно предложил вам зашифровать файл с помощью пароль:

vi -x /path/to/file

Обратите внимание, что вам нужно использовать строчную букву x здесь, в то время как вам нужно использовать прописную букву X при запуске соответствующей команды шифрования из Vim.

Как включить более сильное шифрование в Vim

По умолчанию Vim использует очень плохое шифрование для этих файлов. Метод шифрования по умолчанию «zip» или «pkzip» обратно совместим с версиями 7.2 и ниже vim. К сожалению, его очень легко взломать — даже на оборудовании 90-х годов. Как говорится в официальной документации: «Алгоритм, используемый для «cryptmethod» «zip», можно взломать. Ключ из 4 символов примерно за час, ключ из 6 символов за один день (на ПК с Pentium 133)».

Вы не должны использовать шифрование pkzip для своих текстовых документов, если вам нужна какая-либо безопасность. Однако Vim предлагает лучшие методы шифрования. В версии 7.3 Vim, выпущенной в 2010 году, был добавлен метод шифрования Blowfish, который лучше. Версия 7.4.399, выпущенная в 2014 году, включает новый метод шифрования Blowfish, который устраняет проблемы безопасности в исходном методе шифрования «blowfish» и называет его «blowfish2».

Единственная проблема заключается в том, что для файлов, которые вы создаете с более надежными методами шифрования, требуются эти более новые версии Vim. Таким образом, если вы хотите использовать шифрование «blowfish2», вы сможете открыть этот файл только в Vim версии 7.4.399 и выше. Пока вас это устраивает, вы должны использовать самый надежный из возможных методов шифрования.

Чтобы проверить, какой метод шифрования используется в файле, откройте файл в vim, нажмите клавишу Esc, чтобы убедиться, что вы находитесь в командном режиме, введите следующую команду и нажмите Enter.

:setlocal cm?

«cm» здесь означает «cryptmethod».

Вы увидите метод шифрования, используемый для текущего файла, отображаемый в нижней части экрана vim.

Чтобы выбрать метод шифрования, выполните одну из следующих команд. Шифрование «blowfish2» лучше всего подходит для обеспечения безопасности.

:setlocal cm=blowfish2

:setlocal cm=blowfish

:setlocal cm=zip

Выбрав алгоритм шифрования, используйте команду :w , чтобы записать файл на диск, или команду :wq , чтобы записать файл на диск и выйти.

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

Как изменить или удалить пароль

Чтобы удалить пароль из файла, откройте этот файл в Vim и выполните команду :X . Вам будет предложено ввести новый ключ шифрования. Введите новый пароль, который вы хотите использовать здесь. Чтобы полностью удалить пароль, оставьте поле пароля пустым и просто дважды нажмите Enter.

Сохраните файл и затем выйдите с помощью :wq . Файл будет расшифрован, поэтому вам не нужно будет вводить пароль при открытии файла в будущем.

Обязательно запомните любой пароль, который вы установили, иначе вы не сможете получить доступ к содержимому файла в будущем.