在 Linux 上创建加密文件保险库

使用 Linux 统一密钥设置在物理驱动器或云存储上创建用于敏感文件的加密保险库。
77 位读者喜欢这篇文章。
Secure safe

Jonathunder。由 Opensource.com 修改。CC BY-SA 3.0。

最近,我演示了如何使用 LUKS 和 cryptsetup 命令在 Linux 上实现全盘加密。虽然在许多情况下加密整个驱动器很有用,但您可能出于某些原因不想加密整个驱动器。例如,您可能需要驱动器跨多个平台工作,其中某些平台可能没有 Linux 统一密钥设置 (LUKS) 集成。此外,现在是 21 世纪,云已经存在,您可能并非将物理驱动器用于所有数据。

几年前,有一个名为 TrueCrypt 的系统,允许用户创建加密文件“保险库”,这些保险库可以通过 TrueCrypt 解密以提供读/写访问权限。这是一种有用的技术,本质上提供了一个虚拟的便携式且完全加密的驱动器,您可以在其中存储重要数据。TrueCrypt 已关闭,但它作为一个有趣的模型。

幸运的是,LUKS 是一个灵活的系统,您可以使用它和 cryptsetup 创建一个加密保险库作为独立的自包含文件,您可以将其保存在物理驱动器或云存储中。

以下是如何操作。

1. 创建一个空文件

首先,您必须创建一个预定大小的空文件。这充当一种保险库或保险箱,您可以在其中存储其他文件。您用于此操作的命令是 fallocate,来自 util-linux

$ dd if=/dev/urandom of=vaultfile.img bs=1M count=512

此示例创建一个 512MB 的文件,但您可以根据需要调整大小。

(使用 /dev/urandom 作为填充数据源可确保 hexdump 无法区分实际数据和空白空间。)

2. 创建 LUKS 卷

接下来,在空文件中创建一个 LUKS 卷

$ cryptsetup --verify-passphrase \
luksFormat vaultfile.img

3. 打开 LUKS 卷

为了创建可用于文件存储的文件系统,您必须先打开 LUKS 卷并将其挂载到您的计算机上

$ sudo cryptsetup open \
--type luks vaultfile.img myvault
$ ls /dev/mapper
myvault

4. 创建文件系统

在您的打开的保险库中创建一个文件系统

$ sudo mkfs.ext4 -L myvault /dev/mapper/myvault

如果您现在不需要它,您可以关闭它

$ sudo cryptsetup close myvault

5. 开始使用您的加密保险库

现在一切都已设置好,您可以随时使用您的加密文件保险库来存储或访问私有数据。要访问您的保险库,您必须将其挂载为可用的文件系统

$ sudo cryptsetup open \
--type luks vaultfile.img myvault
$ ls /dev/mapper
myvault
$ sudo mkdir /myvault
$ sudo mount /dev/mapper/myvault /myvault

此示例使用 cryptsetup 打开保险库,然后将保险库从 /dev/mapper 挂载到名为 /myvault 的新目录。与 Linux 上的任何卷一样,您可以将 LUKS 卷挂载到任何您想要的位置,因此您可以使用 /mnt~/myvault 或任何您喜欢的目录,而不是 /myvault

挂载后,您的 LUKS 卷将被解密。您可以像对待物理驱动器一样读取和写入文件。

当您完成使用加密保险库后,卸载并关闭它

$ sudo umount /myvault
$ sudo cryptsetup close myvault

加密文件保险库

您使用 LUKS 加密的映像文件与其他任何文件一样具有可移植性,因此您可以将您的保险库存储在硬盘驱动器、外部驱动器甚至互联网上。只要您有 LUKS 可用,您就可以解密、挂载并使用它来确保您的数据安全。这是一种简单的加密方法,可以提高数据安全性,请尝试一下。

接下来阅读
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,而且经常同时从事这两个行业。

评论已关闭。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.