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