Tomb文件加密工具在Linux中保护秘密文件

时间:2020-03-21 11:48:26  来源:igfitidea点击:

Tomb是一个免费的开源文件加密工具,可以在GNU/Linux操作系统中保护个人和/或者秘密文件。
它允许用户在文件系统中创建加密存储(文件夹)并将重要数据保存其中。
可以使用与其关联的密钥文件来打开和关闭加密的存储,这些文件也受到用户选择的密码的保护。
为了安全起见,我们可以将密钥文件保存在单独的介质上,例如U盘或者CD/DVD。

加密的文件夹称为“坟墓”。
我们可以在硬盘驱动器中创建任意数量的坟墓,只要它具有足够的可用空间即可。
只有同时拥有密钥文件和密码,才能打开坟墓。
它还具有隐写术等高级功能,该功能使我们可以将密钥文件隐藏在另一个文件中。
即使Tomb是一个CLI工具,它也有一个称为gtomb的GUI包装,这对于来说使Tomb的使用更加容易。
在此教程中,让我们看看如何安装Tomb以及如何使用它在Linux中加密文件。

在Linux中安装Tomb

目前,该Tomb仅在GNU/Linux上可用。

在Arch Linux及其衍生版本上:

在Arch Linux中,AUR中提供了Tomb。
因此,我们可以使用AUR帮助器工具(如Yay)进行安装,如下所示。

$yay -S tomb gtomb

在Debian,Ubuntu和Linux Mint上:

SparkyLinux(Debian的衍生产品)开发人员已在其官方存储库中添加了Tomb软件包。
因此,我们可以通过在基于DEB的系统中添加SparkyLinux主存储库来安装它。

要在Debian,Ubuntu,Linux Mint系统中添加SparkyLinux存储库,请创建一个存储库文件:

$sudo vi /etc/apt/sources.list.d/sparky-repo.list

添加以下行:

deb https://sparkylinux.org/repo stable main
deb-src https://sparkylinux.org/repo stable main
deb https://sparkylinux.org/repo testing main
deb-src https://sparkylinux.org/repo testing main

保存并关闭文件。

安装Sparky公钥:

$wget -O - https://sparkylinux.org/repo/sparkylinux.gpg.key | sudo apt-key add 

然后,使用以下命令更新源列表:

$sudo apt-get update

最后,使用以下命令安装tomb和gtomb:

$sudo apt-get install tomb gtomb

对于其他Linux发行版,请遵循此处提供的步骤。

在Linux/Unix中使用Tomb文件加密工具保护秘密文件

1.命令行方式:

就像我已经说过的,我们称加密目录为“坟墓”。
每个坟墓都可以使用其关联的密钥文件和密码来打开。

让我们创建一个新墓,例如theitroad,大小为100MB。
我们需要成为root用户或者具有sudo权限才能创建坟墓。

$sudo tomb dig -s 100 theitroad.tomb

输出示例:

tomb . Commanded to dig tomb theitroad.tomb
tomb (*) Creating a new tomb in theitroad.tomb
tomb . Generating theitroad.tomb of 100MiB
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.737713 s, 142 MB/s
-rw------- 1 root root 100M May 5 06:01 theitroad.tomb
tomb (*) Done digging theitroad
tomb . Your tomb is not yet ready, you need to forge a key and lock it:
tomb . tomb forge theitroad.tomb.key
tomb . tomb lock theitroad.tomb -k theitroad.tomb.key

创建一个用于锁定新创建的坟墓的密钥文件。

$sudo tomb forge theitroad.tomb.key

注意:如果遇到以下错误,则可能是活动的交换分区。

tomb . An active swap partition is detected...
[sudo] password for theitroad: 
tomb [W] This poses a security risk.
tomb [W] You can deactivate all swap partitions using the command:
tomb [W] swapoff -a
tomb [W] [#163] I Jan not detect plain swaps on an encrypted volume.
tomb [W] But if you want to proceed like this, use the -f (force) flag.
tomb [E] Operation aborted.

停用所有交换分区以解决此问题,如下所示。

$sudo swapoff -a

并且,然后重新运行命令以创建密钥文件。
需要一些时间。
继续在其他任务上使用此计算机来创建足够的熵。
或者,只需按照以下步骤快速生成足够的熵。

  • 如何为GPG密钥生成过程生成足够的“熵”

几分钟后,一旦生成了足够的熵,就会要求我们输入新密码以保护密钥。
输入两次。

我们刚刚创建了一个密钥文件。

运行以下命令以使用密钥文件锁定该墓:

$sudo tomb lock theitroad.tomb -k theitroad.tomb.key

系统将要求我们输入密码到your.tomb.key文件:

输入密码后,我们将看到类似以下的输出。

tomb . Commanded to lock tomb theitroad.tomb
[sudo] Enter password for user theitroad to gain superuser privileges
tomb . Checking if the tomb is empty (we never step on somebody else's bones).
tomb . Fine, this tomb seems empty.
tomb . Key is valid.
tomb . Locking using cipher: aes-xts-plain64:sha256
tomb . A password is required to use key theitroad.tomb.key
tomb . Password OK.
tomb (*) Locking theitroad.tomb with theitroad.tomb.key
tomb . Formatting Luks mapped device.
tomb . Formatting your Tomb with Ext3/Ext4 filesystem.
tomb . Done locking theitroad using Luks dm-crypt aes-xts-plain64:sha256
tomb (*) Your tomb is ready in theitroad.tomb and secured with key theitroad.tomb.key

现在,我们有了一个100MB的坟墓,称为“ theitroad”,并使用了一个密钥文件将其锁定,该密钥文件也受密码保护。

由于这只是演示目的。
我已将密钥文件和坟墓存储在同一目录(我的$HOME目录)中。
为了安全起见,我们不应该将钥匙放在坟墓所在的位置!如果我们将密钥文件存储在其他路径或者介质中,则在打开坟墓时需要提及密钥文件的正确路径值。

要打开该墓,请运行:

$sudo tomb open theitroad.tomb -k theitroad.tomb.key

输入密钥文件的密码:

输入有效的密码后,我们将看到以下输出:

[...]
tomb (*) Success unlocking tomb theitroad
tomb . Checking filesystem via /dev/loop2
fsck from util-linux 2.31.1
theitroad: clean, 11/25168 files, 8831/100352 blocks
tomb (*) Success opening theitroad.tomb on /media/theitroad

恭喜你!该墓已安装在/media目录下(在我的情况下为/media/theitroad)。

现在,我们可以将秘密文件/文件夹保存在该坟墓(即加密目录)中。
同样,我们需要是sudo或者root用户才能将数据保存在此墓中。

完成后,使用以下命令将其关闭:

$sudo tomb close

输出示例:

tomb . Closing tomb [theitroad] mounted on /media/theitroad
tomb (*) Tomb [theitroad] closed: your bones will rest in peace.

如果我们赶时间,可以使用以下命令强制关闭所有开放的陵墓:

$sudo tomb slam all

上面的命令将立即关闭所有打开的坟墓,并杀死所有使用它们的应用程序。
我们可以同时使用多个坟墓。
可以将其中的所有目录和文件绑定到$HOME内的文件和目录,并将所有配置放在应用程序期望的位置。

有关更多用法的详细信息,请参阅官方教程。

2.图形化方式:

如果我们对命令行不满意,可以使用Gtomb(Tomb的GUI包装器)。

从菜单启动它。
这是gtomb默认界面的样子。

如我们在上面的 Screen截图中看到的,所有选项都是不言自明的。

要创建一个坟墓,请选择第一个选项dig,然后单击“确定”。
选择我们想要保留坟墓的位置。

接下来,输入坟墓大小:

接下来,我们需要创建用于锁定坟墓的密钥文件。
从主菜单中选择伪造,然后单击确定。
输入密码两次。

接下来,从主菜单中选择“锁定”以使用新创建的密钥文件锁定该坟墓。
要打开该墓,请从主菜单中选择“打开”,然后选择该墓。

如我们所见,gtomb的使用非常简单直接。
我们没有记住所有命令。
我们可以通过单击几次鼠标来完成所有操作。