创建加密稀疏图像

创建加密稀疏图像

在 Mac OS XI 上,可以选择创建加密稀疏映像。我在启动时自动挂载了它,并使用它来存储我想要加密的文件(税务文件、银行对账单或其他个人身份信息)。它很有用,因为我不想加密我的整个主目录或整个硬盘;我实际加密的文件数量非常少,因此仍然可以方便地将其作为单个文件备份到云中,从而保留我的私人文档,而不会让它们被访问,即使有人以某种方式访问​​这些数据。

我很好奇 Ubuntu(或一般 Linux)上是否有类似的东西,或者是否至少有一种方法可以实现相同的目的。

  • 我知道我可以创建一个加密的硬盘分区,但我不想这样做,因为我想尽量减少使用的空间,同时仍留出增长空间,并且我希望能够将文件同步到云端(对于小图像来说这不是一个大问题)。

  • 我知道我可以加密我的主目录,但这也不是我想要做的。我不想加密音乐、电影、配置文件或我所做的大部分工作,因为我不在乎将它们保密,而且我希望能够同步其中的大部分内容,而不必每次同步时都更新一个巨大的 blob。我想理论上我可以将我的所有个人文件存储在另一个目录中,并从我的加密主目录中符号链接到它们,但我仍然不确定这是否能实现我想要的效果(我可以将 blob 备份到某处并在另一台(不一定是 Ubuntu 或 Linux)机器上恢复吗?)或者这是否会引起太多麻烦。

  • 我发现了一些有关创建和安装稀疏图像的信息,但没有发现任何提到启用加密的信息。

有任何想法吗?

答案1

这是可行的,您必须首先创建一个稀疏文件,假设为 512MB:

truncate -s 512M file.img

因此使用 cryptsetup,我们将文件加密为设备(语法相同,这里只使用基本选项)

cryptsetup -v luksFormat file.img

WARNING!
========
This will overwrite data on file.img irrevocably.

Are you sure? (Type uppercase yes): YES
Enter passphrase:
Verify passphrase:
Command successful.

因此,我们打开加密卷:

 cryptsetup luksOpen file.img sparse_file
Enter passphrase for file.img:

然后我们创建 fs:

mkfs.ext4 /dev/mapper/ sparse_file
mke2fs 1:42:12 (29-Aug-2014)
Creating filesystems with 1k blocks 522240 and 130560 inodes
Filesystem UUID: ec4e3529-0ee5-4b31-9487-5ae1c598c9d3
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

挂载加密文件:

 mount /dev/mapper/sparse_file /mnt/sparse_file/

du -h --apparent-size file.img
512M file.img
du -h file.img
17M file.img
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/sparse_file 486m 2.3M 455M 1% /mnt/sparse_file

瞧瞧

相关内容