从便携式介质(USB 棒)运行 Ubuntu,我还希望能够使用计算机的 HDD,例如用于交换和临时保存数据。
但是,我不想以不可逆的方式接触硬盘,所以我无法对其进行重新分区,也不想直接挂载任何文件系统来逐个转储我的数据文件而不进行加密,也不想保证之后会安全删除它。
我设想从我的便携式系统中安装一个现有分区,只是为了创建一个包含虚拟磁盘映像的大文件。这样我就可以使用可用空间,而不会有意外更改任何内容的危险。虚拟磁盘应该加密,并包含交换和 ext4 数据分区。但它必须在重新启动之间持久存在,直到我手动删除它。
在我使用完那台电脑并将所有重要信息从虚拟数据分区保存到持久位置后,我想安全地禁用交换,卸载数据分区并安全地删除(粉碎)整个虚拟磁盘映像。因此,最后,使用的硬盘看起来没有被修改,除了创建和删除了一个大文件,但由于加密和粉碎,不会泄露任何信息。
我所设想的程序是否可行,或者会不会有问题?您能否给我一些建议,告诉我如何创建这样的磁盘映像,并从我的便携式系统等中使用它?
答案1
恕我直言,你应该完全遵循本指南并将您的交换文件和数据安全地保存在您的USB单板机磁盘。
但是,如果你坚持将 swap 放在 HDD 上,你唯一需要做的不同的事情是:
在硬盘上创建交换文件:
sudo fallocate --length XY /media/szSomewhere/file.swap sudo chmod a+rw /media/szSomewhere/file.swap
其中
X
是您想要的数字,Y
单位为(k、m、g、t、p、e。参见man fallocate
了解更多信息),并且/media/szSomewhere
是您希望文件在启动系统中所在的位置。格式化文件以创建交换设备:
sudo mkswap /media/szSomewhere/file.swap
将交换添加到正在运行的系统:
sudo swapon /media/szSomewhere/file.swap
额外的交换现在可用,可以通过 看到cat /proc/meminfo
。显然,您必须在您使用的每台计算机上执行此操作,因此请将其制作成脚本。
要在 HDD 上存储加密文件:
安装加密文件系统:
sudo apt-get install sudo apt-get install encfs
设置加密目录:
encfs /media/szSomewhere/.encrypted /media/szSomewhere/UnEncrypted
然后开始像其他目录一样使用未加密的目录。要加密 /media/szSomewhere/UnEncrypted 目录,只需输入:
fusermount -u /media/szSomewhere/UnEncrypted
只要目录被卸载, 中的所有信息/media/szSomewhere/UnEncrypted
似乎都会消失,但实际上存储在 中/media/szSomewhere/.encrypted
。 再次访问此信息的唯一方法是通过键入与步骤 2 中相同的命令来解锁它...