如何在Linux(或者macOS)上使用Vim密码保护文本文件

时间:2020-01-09 10:45:03  来源:igfitidea点击:

vim文本编辑器是Linux和macOS附带的标准工具,可以使用密码快速加密文本文件。与使用单独的实用程序加密文本文件相比,它更快,更方便。设置方法如下。

确保系统的Vim具有加密支持

某些Linux发行版(包括Ubuntu)默认情况下包括最低版本的vim,仅用于基本文本编辑。例如,Ubuntu将此软件包称为vim-tiny。如果我们尝试在vim的最低版本中使用加密,将看到一个对不起,此命令在此版本消息中不可用。

我们可能需要安装完整版本的vim才能在Linux发行版上获得此功能。例如,在Ubuntu上,我们可以通过运行以下命令来获取vim的完整版本:

sudo apt install vim

macOS默认包含的vim版本确实包含加密支持,因此我们不需要在Mac上安装其他任何东西。只需从Finder>应用程序>实用程序>终端启动终端窗口,这些命令在macOS上的工作原理与在Linux上相同。

如何使用密码加密文件

相关:使用Vi编辑文本文件的初学者指南

如果我们知道如何使用vi,则基本过程相对简单。如果不这样做,我们可能会挂在vi的模式界面上。在vim中打开文本文件时,有两种模式。默认情况下,我们处于命令模式,可以使用键盘上的键执行命令。我们也可以按i进入"插入"模式,在该模式下我们可以像在其他文本编辑器中一样正常键入并使用箭头键在光标周围移动。要退出插入模式,请按Esc键,然后返回命令模式。

首先,启动vim。例如,以下命令将启动vim并将其指向当前目录中名为example的文件。如果该文件不存在,则在保存时,vim会在当前目录中创建一个名为example的文件:

vi example

我们也可以使用以下命令将vi指向另一条路径。我们不必在当前目录中创建文件。

vi /path/to/file

正常编辑文件。例如,我们可以按i进入插入模式,然后正常键入文本。编辑文件时,按Esc键以确保我们处于命令模式而不是插入模式。输入:X并按Enter。

系统将提示我们输入密码,该密码将用于加密文本文件。输入我们要使用的密码,按Enter,然后再次输入以确认。我们以后想在任何时候打开文件时都需要输入此密码。

Vim会警告我们默认使用弱加密方法。稍后,我们将向我们展示如何使用更安全的加密方法。

密码将与Vim中的当前文本文件相关联,但是在将密码实际分配给文件之前,我们需要保存更改。为此,请按Esc以确保我们处于命令模式,然后键入:wq并按Enter将文件写入磁盘并退出Vim。

下次我们尝试在Vimfor中打开文件时,通过运行vi example,Vim将询问我们与文件关联的密码。

如果输入了错误的密码,文件的内容将是乱码。

警告:如果打开文件并看到乱码,请不要保存。这会将损坏的数据保存回文件,并覆盖加密的数据。只需运行:q退出Vim而不将文件保存到磁盘。

我们还可以在这里使用另一个快捷方式。我们可以运行以下命令来使vim创建或者打开文件,并立即提示我们使用密码加密文件,而不是使用vim / path / to / file创建或者打开文件:

vi -x /path/to/file

请注意,从Vim内部运行关联的加密命令时,需要在此处使用小写的x,而在使用X时需要使用大写的X。

如何在Vim中启用更强的加密

默认情况下,Vim对这些文件使用非常差的加密。默认的zip或者pkzip加密方法与vim 7.2及更低版本向下兼容。不幸的是,即使在90年代的硬件上,也可以非常非常容易地破解它。正如官方文档所说:用于cryptmethod的zip的算法是易破解的。在大约一个小时内用4个字符的密钥,在一天内用6个字符的密钥(在Pentium 133 PC上)。

如果我们完全想要任何安全性,则不应对文本文档使用pkzip加密。但是,Vim提供了更好的加密方法。 2010年发布的Vim 7.3版本增加了河豚加密方法,效果更好。 2014年发布的7.4.399版包含一种新的Blowfish加密方法,该方法解决了原始Blowfish加密方法中的安全问题,并将其复制为Blowfish2.

唯一的问题是,使用更强的加密方法创建的文件需要这些Vim的较新版本。因此,如果要使用lowfish2加密,则只能使用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退出。文件将被解密,因此以后打开文件时不会提示我们输入密码。

请务必记住我们设置的任何密码,否则以后将无法访问该文件的内容。