在 Linux 上创建一个自动增长的加密文件夹?

在 Linux 上创建一个自动增长的加密文件夹?

我想在我的 ext4-data 分区上创建一个加密文件夹,我可以将一些秘密数据移动到其中。

我如何创建这样的文件夹?

驱动器已占满一半以上,那么有没有办法让我在创建文件夹时不必定义其大小?

最佳随着它的充满而增长


更新:

谢谢,根据您的回答,我将使用加密文件系统

请在这里展示如何使用 bash 命令来配置它,这样最后我就可以得到一个/data/可以移动文件的文件夹(我想加密我的照片库文件夹,它位于另一个硬盘上)

并且我必须在启动过程中何时何地输入密码才能在每次重启后使用该文件夹。

答案1

你有两个选择加密文件系统加密文件系统. 两者都呈现出保险丝接口,因此数据存储在 ext4 文件系统上的文件中,并通过挂载点进行访问。

两者具有相同的安全目标:它们加密文件内容和文件名,但保持目录结构和元数据(例如大小、修改时间)可见。

无论使用哪种方式,您首先都要创建文件系统,文件系统一开始是空的。然后将数据移入其中,这会加密数据。由于在创建加密数据时会擦除明文数据,因此整个移动过程中磁盘使用率大致保持不变。

移动数据后,用文件完全填充明文文件系统:cat /dev/zero >zero; rm zero。这将擦除已擦除文件的先前内容。目录条目中仍会存在已擦除文件的名称和元数据的痕迹;唯一可行的方法是擦除整个分区。

当您在以下位置选择主目录加密时,您将获得 EcryptfsUbuntu;您可以在安装后通过 GUI 进行设置。建筑维基有详细的命令行说明。Ecryptfs 附带了自动放入加密数据~/.Private并将其挂载的工具~/Private:只需运行ecryptfs-setup-private。在默认的 Ubuntu 设置中,您的登录密码将成为您的 Ecryptfs 密钥文件的密码;如果您喜欢短登录/屏幕解锁密码和长解密密码,这可能并不理想。

在 Ecryptfs 和 EncFS 之间,我推荐 Ecryptfs,因为它的设计看起来更简洁,而且由于它与内核挂钩,因此性能更好。我选择 EncFS 的唯一原因是,如果我的机器的内核不支持 Ecryptfs:没有 root 访问权限就无法安装,而 EncFS 只需要使用 FUSE 的权限。

答案2

您可能想要使用 encfs。加密文件系统中的每个文件都与备份文件系统中的一个文件相对应,但内容和名称是加密的。因为 encfs 并不是真正的文件系统,而只是真实文件系统中文件夹顶部的加密层,所以加密文件占用的空间不会比未加密时多很多。

这种方法有以下缺点:

  • 攻击者仍然可以看到文件的大小以及它们如何分组到文件夹中(尽管他看不到文件和文件夹的真实名称)。例如,他可能能够高度自信地识别出您的 encfs 中有一个 git 存储库,因为 git 存储库具有某些结构特征。
  • 它使用 FUSE – 因此,所有数据都必须在内核和用户空间之间进行一次往返,这通常是不需要的,所以有点慢。

答案3

这是您要查找的命令:

ecryptfs-setup-private

答案4

加密文件系统满足您的需求。以下是一些Ubuntu 的使用说明这可能适用于许多其他Linux发行版。

加密文件系统的常用方法是加密分割,无论应用了哪种文件系统(这不仅会加密文件本身,还会加密定义哪个字节属于哪个文件或目录的所有元数据)。由于您要求“随着填充而增长”,因此在您的情况下,这不容易做到。EncFS 使用另一种方法,即一种特殊的加密感知文件系统,它搭载在实际未加密的文件系统上,以完成跟踪磁盘表面字节的繁琐工作。这往往会泄露更多数据,因此可以反复监视您的磁盘的攻击者可能会对您在加密文件系统上写入的文件的大小和性质做出一些很好的猜测。

如果你想要一个加密文件系统来击败窃取你的无动力笔记本电脑,那么 EncFS 就可以了。

相关内容