![快照加密文件夹](https://linux22.com/image/161803/%E5%BF%AB%E7%85%A7%E5%8A%A0%E5%AF%86%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我正在尝试创建一个加密的数据文件夹,它可以定期拍摄其当前状态的快照。快照应该是加密的,我应该能够在不“卸载”加密文件夹的情况下拍摄快照。这可能吗?
似乎我可以使用 EncFS、eCryptfs 和 gocryptfs 来加密文件夹,但我没有发现是否可以在安装文件夹时拍摄加密文件的快照。将全盘加密与 btrfs 结合使用并不是一种选择(如果可能的话)。
答案1
肯定是可能的, 以这种或那种方式。
我使用一个图像文件、两层文件系统 (ZFS) 和一层 dm-crypt 来完成此操作。设置很容易描述:放置一个支持快照的事务抵抗文件系统上的图像文件,在该文件系统上放置一个新的图像文件。使用 cryptsetup 创建该文件的加密块设备。在该块设备上创建一个新的文件系统,并将其安装在方便的位置。
现在可以对未加密的文件系统进行快照,并且可以从此快照保存具有加密文件系统的映像文件。
文件系统必须具有事务抵抗能力,以防快照发生在不方便的时间。未完成的事务将被忽略,并且应该生成一致版本的文件。如果更新多个文件,排序仍然存在一些技术复杂性(我没有资格解释),因此数据库可能会对结果感到不安。我认为 nilfs2 有一个配置选项可以在这种情况下使用严格同步(如果这很重要的话)。
在实践中,有许多复杂且容易失败的步骤来设置和拆除它,因此建议使用复杂且防失败的脚本,并对已完成/撤消的操作进行适当的测试。我使用 zfs 是因为它易于管理,并且简化了此任务。