使用密码保护目录及其内容而无需创建新文件的最简单方法?


22

我想用密码保护或加密目录及其中的所有文件(针对其下的整个目录树)。我不想打扰整个主目录,我想要一个包含一些文件和文件夹的特定目录。我希望能够使用密码对目录进行加密或解密。命令行将是最好用的。我不想创建一个新文件作为加密版本,然后删除以前的非加密版本。


有趣的是,“无需创建新文件” ...
phunehehe 2012年

您的意思是挂载为加密文件系统?
Faheem Mitha 2012年

@FaheemMitha,我也想避免文件系统路由,这听起来很复杂。
瓦斯2012年

1
@Vass文件系统路由是迄今为止最简单的方法。如果您不随意拒绝解决方案,将使您的生活更轻松。
吉尔(Gilles)'所以

Answers:


23

使用encfs(在大多数发行版中作为软件包提供)。建立:

mkdir ~/.encrypted ~/encrypted
encfs ~/.encrypted ~/encrypted
# enter a passphrase
mv existing-directory ~/encrypted

初始调用以encfs建立加密的文件系统。此后,您写入的每个文件~/encrypted都不会直接存储在磁盘上,而是被加密,加密的数据存储在之下~/.encrypted。该encfs命令使守护程序运行,该守护程序处理加密(从读取文件时进行解密~/encrypted)。

换句话说,对于之下的文件~/encrypted,诸如读取和写入之类的操作不会直接转换为从磁盘读取或写入。它们由该encfs过程执行,该过程对数据进行加密和解密,并使用~/.encrypted目录存储密文。

暂时完成文件的使用后,请卸载文件系统,以便在再次键入密码之前无法访问数据:

fusermount -u ~/encrypted

在那之后,~/encrypted将再次是一个空目录。

当您以后想要再次使用这些文件时,请安装加密的文件系统:

encfs ~/.encrypted ~/encrypted
# enter your passphrase

同样,这也使得加密文件~/.encrypted可以在目录下访问~/encrypted

您可以根据需要更改挂载点~/encrypted:(encfs ~/.encrypted /somewhere/else但一次只能挂载加密目录一次)。您可以将密文复制或移动(但不能在安装时移动)到其他位置,甚至移动到另一台机器。处理文件所需要做的就是将密文的位置作为第一个参数,encfs并将空目​​录的位置作为第二个参数。


答案是非常有用和实用的。如果您可以添加更多文本来解释每个操作在不造成麻烦的情况下,将不胜感激。您能否解释一下在这种情况下文件系统的含义以及挂载的相关性?
瓦斯2012年

1
@Vass我已经用更多解释更新了我的答案。有关文件系统和挂载的背景信息,请参见典型的Linux系统上存在哪些挂载点?什么是安装在Linux中的设备是什么意思?
吉尔(Gilles)'所以

这是一个了不起的解释。我觉得我学到很多东西。额外的链接会有所帮助。因此,由encfs制作的文件系统是“混杂的原始文件块”,通过encfs可以浏览和读取文件;因为原始文件系统不兼容使用这些数据块。隐藏了加密目录,以免意外进入该目录。如果您这样做了,您什么也看不到?
瓦斯2012年

1
@Vass“ encfs制作的文件系统是'原始文件的各个部分的杂物',并且可以通过encfs进行浏览和读取它”:是的,完全是这样。该目录~/.encrypted包含密文。您无需访问即可访问它encfs,但在那里只会看到加密的数据。
吉尔斯(Gillles)“所以-别再邪恶了”

2

我不想创建一个新文件作为加密版本,然后删除以前的非加密版本

但这正是您所描述的方案。...“能够加密目录或将其解密”

我怀疑您正在寻找的解决方案是加密的FUSE或类似的产品。文件系统存储在一个加密文件中,并且在挂载(使用密码)时,可以通过VFS层进行透明访问。


创建新文件并删除以前的文件是带有密码保护的.zip路由。我不了解您所指的文件系统和安装路径。是否没有某个程序以某种方式将文件弄乱然后可以将其重新整理?
瓦斯2012年

是的, 这里 是FUSE加密文件系统的完整列表。拉链路径最简单的
BSD

@Vass我不明白您所说的“ zip路径”是什么意思:不涉及zip。纯文本永远不会存储在磁盘上(这会更加复杂,并且会破坏大多数加密目的)。
吉勒斯(Gilles)'所以

2
压缩路径/压缩路径是使用加密/密码选项递归压缩目录。但是,当要访问文件时,必须从zip中提取未加密的文件,读取文件,然后删除,或编辑文件,然后使用新文件更新zip,然后删除中间文件。他正在寻求加密的文件系统的透明性,但要在目录级别。我和其他人建议将FUSE与加密的fs配合使用。但是,“简单”是一个观点和经验的问题。
2012年

@bdowning,是的,您正确表达了它。我不了解文件系统及其操作。我会在不了解概念的情况下盲目使用这些命令。
瓦斯2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.