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

系统 Linux
使用 Linux 统一密钥设置(LUKS)为物理驱动器或云存储上的敏感文件创建一个加密保险库。

[[393150]]

使用 Linux 统一密钥设置(LUKS)为物理驱动器或云存储上的敏感文件创建一个加密保险库。

最近,我演示了如何在 Linux 上使用统一密钥设置Linux Unified Key SetupLUKS)和 cryptsetup 命令 实现全盘加密。虽然加密整个硬盘在很多情况下是有用的,但也有一些原因让你不想对整个硬盘进行加密。例如,你可能需要让一个硬盘在多个平台上工作,其中一些平台可能没有集成 LUKS。此外,现在是 21 世纪,由于云的存在,你可能不会使用物理硬盘来处理所有的数据。

几年前,有一个名为 TrueCrypt 的系统,允许用户创建加密的文件保险库,可以通过 TrueCrypt 解密来提供读/写访问。这是一项有用的技术,基本上提供了一个虚拟的便携式、完全加密的驱动器,你可以在那里存储重要数据。TrueCrypt 项目关闭了,但它可以作为一个有趣的模型。

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

下面就来介绍一下怎么做。

1、建立一个空文件

首先,你必须创建一个预定大小的空文件。就像是一种保险库或保险箱,你可以在其中存储其他文件。你使用的命令是 util-linux 软件包中的 fallocate

  1. $ fallocate --length 512M vaultfile.img

这个例子创建了一个 512MB 的文件,但你可以把你的文件做成任何你想要的大小。

2、创建一个 LUKS 卷

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

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

3、打开 LUKS 卷

要想创建一个可以存储文件的文件系统,必须先打开 LUKS 卷,并将其挂载到电脑上:

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

4、建立一个文件系统

在你打开的保险库中建立一个文件系统:

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

如果你现在不需要它做什么,你可以关闭它:

  1. $ sudo cryptsetup close myvault

5、开始使用你的加密保险库

现在一切都设置好了,你可以在任何需要存储或访问私人数据的时候使用你的加密文件库。要访问你的保险库,必须将其挂载为一个可用的文件系统:

  1. $ sudo cryptsetup open \
  2. --type luks vaultfile.img myvault
  3. $ ls /dev/mapper
  4. myvault
  5. $ sudo mkdir /myvault
  6. $ sudo mount /dev/mapper/myvault /myvault

这个例子用 cryptsetup 打开保险库,然后把保险库从 /dev/mapper 下挂载到一个叫 /myvault 的新目录。和 Linux 上的任何卷一样,你可以把 LUKS 卷挂载到任何你想挂载的地方,所以除了 /myvault,你可以用 /mnt 或 ~/myvault 或任何你喜欢的位置。

当它被挂载后,你的 LUKS 卷就会被解密。你可以像读取和写入文件一样读取和写入它,就像它是一个物理驱动器一样。

当使用完你的加密保险库时,请卸载并关闭它:

  1. $ sudo umount /myvault
  2. $ sudo cryptsetup close myvault

加密的文件保险库

你用 LUKS 加密的镜像文件和其他文件一样,都是可移动的,因此你可以将你的保险库存储在硬盘、外置硬盘,甚至是互联网上。只要你可以使用 LUKS,就可以解密、挂载和使用它来保证你的数据安全。轻松加密,提高数据安全性,不妨一试。 

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-07-01 15:33:53

LinuxBash

2019-02-19 09:00:45

Linux创建文件命令

2022-12-23 14:04:08

2012-11-21 11:48:23

i-NVMM加密密码

2021-07-18 11:43:58

Linux密码加密

2021-09-08 08:36:50

ncursesLinux猜谜游戏

2019-05-23 14:36:24

LinuxSOSReportxsos

2020-08-31 08:51:10

Linux转储文件内存

2017-10-10 14:41:38

Linux

2021-04-24 06:26:43

SigilLinux EPUB文件

2013-11-11 16:12:06

Linux系统文件夹

2022-11-06 19:17:39

LinuxVentoy

2019-03-05 11:22:06

FinalCrypt开源文件加密

2018-01-19 12:56:19

Linux进程

2009-09-22 11:54:42

ibmdwPHP

2023-03-15 09:00:43

SwiftUISlider

2015-08-06 13:44:21

swiftcocoapods

2024-06-17 09:08:55

Linuxloop设备

2018-07-16 08:40:08

Linux段错误C++

2022-04-29 08:00:06

Linux目录网络
点赞
收藏

51CTO技术栈公众号