Tomb是一个免费的开源、小型、强大且简单的工具,用于在GNU/Linux上加密文件。在当前编辑本文时,它包含一个使用通用文件系统GNU工具和Linux内核加密API(cryptsetup和LUKS)的shell脚本 ( zsh)。
Tomb还使用各种GNU/Linux工具(例如steghide、lsof、mlocate、resizefs、dcld等)来扩展其功能,主要用于在名为tombs的加密、受密码保护的目录中创建秘密或个人文件的安全备份。这些目录只能使用其关联的密钥文件和密码打开。
创建tomb后,你可以单独存储其密钥文件,例如,你的tomb文件可以存在于远程服务器上,而密钥文件则位于家庭或办公室的笔记本电脑或台式机上。如果tomb文件位于你的笔记本电脑或台式机上,你可以将其隐藏在文件系统中,或者作为更安全的选项,将密钥存储在USB驱动器中。
此外,你可以将Tomb隐藏在文件系统中或通过网络或外部存储介质安全地移动它,并与其他朋友或同事分享。同时你还可以在图像中隐藏关键点,接下来将会简单介绍下。
在Linux系统中安装Tomb
Tomb需要在系统上安装一些程序(例如zsh、gnupg、cryptsetup和pinentry-curses)才能工作。所以,首先使用你的发行版默认包管理器安装以下必需的工具,此外还将安装steghide以添加在图像中隐藏密钥的功能:
sudo apt install gnupg zsh cryptsetup pinentry-curses steghide [Debian系统] sudo yum install gnupg zsh cryptsetup pinentry-curses steghide [RHEL系统] sudo dnf install gnupg zsh cryptsetup pinentry-curses steghide [Fedora系统]
安装所需的软件包后,下载适合你的发行版的稳定tomb源代码,或使用以下wget命令直接在终端中下载,命令如下:
cd Downloads/ wget -c https://files.dyne.org/tomb/Tomb-2.10.tar.gz
接下来,解压刚刚下载的tar存档文件并将其移动到解压的文件夹中:
tar -xzvf Tomb-2.10.tar.gz cd Tomb-2.10
最后,以root身份运行以下命令或使用sudo命令获得root权限,将二进制文件安装在/usr/local/bin/
:
sudo make install
在Linux系统中创建tomb
安装tomb后,可以通过为其创建新密钥并设置其密码来生成 tomb,如下所述。
要创建tomb,请使用dig子命令和-s
标志来设置其大小(以MB为单位)(当添加文件后tomb已满时,可以增加此大小)。
sudo tomb dig -s 30 tecmint.tomb
然后使用forge子命令为tecmint.tomb
创建一个新密钥,并在询问时设置其密码。此操作需要一些时间才能完成,只需坐下来放松或做个眼保健操即可:
sudo tomb forge tecmint.tomb.key
在创建密钥时,如果磁盘上存在交换空间,tomb将会出现警告,如果交换内存处于启用状态,它将终止操作,如下截图所示。
这是由于与磁盘上的交换内存相关的安全风险(请参阅文档或man页面获取更多信息)。你可以使用-f标志强制执行操作,或使用以下命令关闭交换内存。
sudo swapoff -a
然后尝试再次创建tomb密钥,如下所示:
接下来,格式化tecmint.tomb
以使用上面的密钥锁定它。-k
标志指定要使用的密钥文件的位置。
sudo tomb lock tecmint.tomb -k tecmint.tomb.key
如何打开新的Tomb
要打开Tomb,请使用open子命令,系统会提示你输入创建Tomb时设置的密码,命令如下:
sudo tomb open -k tecmint.tomb.key tecmint.tomb
从上一个命令的输出来看,Tomb已打开并安装在/media/tecmint/
上面,也就是你可以在此处添加秘密文件。
如果你有许多Tomb,可以列出所有开放的Tomb并获取有关它们的一些信息,如下所示:
sudo tomb list
复制文件到打开的Tomb
现在你可以将你的秘密或重要文件添加到Tomb中,命令。注意,每次需要添加更多文件时,请先打开Tomb,参考上面的方法。
sudo cp -v passwds.txt accounts.txt keys.txt -t /media/tecmint/
打开Tomb之后,一旦完成了对它的使用或添加文件,使用关闭子命令关闭Tomb文件。但如果一个过程是在一个开放的Tomb上进行的,如果可能无法关闭:
sudo tomb close
你可以通过运行以下命令来关闭所有Tomb:
sudo tomb close all
要强制关闭打开的Tomb,即使进程正在与之交互,也可以使用slam子命令关闭:
sudo tomb slam 或者 sudo tomb slam all
将Tomb密钥隐藏在图像中
也可以使用bury子命令将Tomb密钥隐藏/编码到图像中,命令如下:
sudo tomb bury -k tecmint.tomb.key zizu.jpg
然后使用新创建的jpeg图像打开Tomb,如下所示:
sudo tomb open -k zizu.jpg tecmint.tomb
当然,你还可以使用exhume子命令恢复编码在jpeg图像中的密钥:
sudo tomb exhume zizu.jpg -k tecmint.tomb.key 或者 sudo tomb -f exhume zizu.jpg -k tecmint.tomb.key #如果键存在于当前目录中,则强制操作
注意:记得保存好tomb钥匙,不要将其与tomb放在同一目录下。例如,一般会将tecmint.tomb
密钥移至一个秘密位置(你可以使用你自己指定的位置)或将其保存在外部介质上或通过SSH将其移至远程服务器。
sudo mv tecmint.tomb.key /var/opt/keys/
最后,由于小编无法介绍所有tomb使用命令和选项,所以你可以查阅其手册页以获取更多信息。在那里,你将找到有关如何更改tomb密钥和密码、调整tomb大小等说明。
man tomb
概括
不难看出,Tomb是一个简单但功能强大且易于使用的加密工具,用于在GNU/Linux系统上处理像秘密一样微妙的文件,其功能也是非常的强大。如果你这方面的使用需求,那么不妨了解下Tomb工具。