当前位置: 首页>>技术教程>>正文


使用基于FUSE的EncFS文件系统进行用户数据加密

, ,

介绍

任何体面的Linux发行版均带有安装选项,可自动加密用户的主目录。如果您不想加密整个主目录,或者您希望对Linux系统上的某些随机目录进行加密,则可以使用EncFS基于FUSE的加密文件系统。EncFS允许您在几秒钟内加密和解密任何目录。它位于您当前文件系统的顶部,仅在输入正确的预定义密码后,才可以访问任何EncFS加密目录。这个简短的教程将向您展示如何使用EncFS加密和解密目录加密文件系统。

情境

假设您是从一个地方到另一个地方的大量笔记本电脑用户。您还经常使用ssh,因此已经生成了ssh密钥对。为了方便起见,您甚至没有使用pass-phrase生成了私钥(从来都不是好主意)。此外,您已将公共ssh密钥复制到多个服务器,以方便访问。这种情况的问题是,一旦有人抓住了您的笔记本电脑,他/她便可以使用您的私钥ssh密钥立即访问所有服务器。在本文中,我们将向您展示如何加密.ssh目录并避免此类问题。

安装

安装非常简单。除非您不使用某些自制的Linux发行版EncFS应该包含在标准存储库中。

Ubuntu /Debian的

$ sudo apt-get install encfs

Fedora /Redhat /CentOS

$ sudo yum install encfs

创建加密目录

如前所述,我们将使用.ssh目录作为本教程的示例。但是首先我们需要创建加密目录:

$ encfs ~/encryptdir/ ~/decryptdir/

将会向您询问一些有关不存在的目录的问题,您将在这些目录中回答”yes”,以及是否希望使用偏执配置。选择”p”。您还需要选择一个密码。确保您不要忘记密码,因为没有密码将无法访问您的数据。

现在,您已经创建并安装了加密目录。您存储在〜/decryptdir中的所有内容都会被自动加密并放入〜/encryptdir中:

$ ls ~/encryptdir
$ ls ~/decryptdir
$ touch ~/decryptdir/file
$ ls ~/decryptdir
file
$ ls ~/encryptdir
wZ8fQPHUR4mtUdI4Tx0RWIcJ
$ rm ~/decryptdir/file

使用加密目录

此时,我们可以使用以下命令将示例.ssh目录链接到新的〜/decryptdir:linux命令s:

$ mv .ssh/ ~/decryptdir/
$ ln -s ~/decryptdir/.ssh/ .ssh

从现在开始,只要安装〜/encryptdir目录,.ssh就会显示解密的文件。您还可以使用与其他目录(例如〜/.thunderbird或〜/.mozilla)相同的方式进行链接。

卸载加密目录

如果您不再希望使用加密目录,则需要使用unmount命令将其卸载:

$ fusermount -u ~/decryptdir

执行上述命令后,您的.ssh目录将不再可用。

挂载加密目录

要再次使用加密的目录,您将需要使用密码来挂载它。

$ encfs ~/encryptdir/ ~/decryptdir/

结论

EncFS提供了一种快速简便的方法来加密您选择的任何目录。不要忘记检查更多的EncFS配置选项,例如自动空闲用户卸载等。

$ man encfs

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8609.html,未经允许,请勿转载。