带 dropbox 的 eCryptfs:必须重新挂载才能看到同步更改

Qua*_*dom 5 linux dropbox ecryptfs

我正在尝试在 dropbox 上使用 eCryptfs,但遇到了一些问题。

我的系统是 GNU/Linux,确切地说是 openSUSE 12.2。

我的设置是这样的:我设置了两个运行 openSUSE 12.2 的 VirtualBox 实例,我们称它们为 VM1 和 VM2。Dropbox 和往常一样,正在同步 ~/Dropbox 中的所有内容。为了创建我的 eCryptfs 设置,我在两个虚拟机上执行以下操作:

mkdir -m 500 ~/ecryptfs_upper
mkdir -m 700 ~/Dropbox/ecryptfs_lower
sudo mount -t ecryptfs Dropbox/ecryptfs_lower/ ecryptfs_upper/
Run Code Online (Sandbox Code Playgroud)

我将 eCryptfs 配置为:

key type: passphrase
cipher: aes
key bytes: 16
plaintext passthrough: no
filename encryption: yes
Run Code Online (Sandbox Code Playgroud)

如果我现在继续在 VM1 上的 ~/ecryptfs_upper 中创建文件,它也将在 VM2 上正确显示。然而,当我在一个虚拟机上更改此文件时,有时(通常但并非总是由于某种原因)它似乎不会在另一台虚拟机上更新。

如果我检查两个虚拟机上 ~/Dropbox/ecryptfs_lower 中的底层文件,它们是相同的(sha256sum 生成相同的哈希值),因此 dropbox 已正确地同步它们。但是~/ecryptfs_upper中对应的文件还是不一样!我必须卸载然后再次安装 eCryptfs 才能正确显示更改。

问题似乎是,当 dropbox 更新 eCryptfs 下级目录中的文件时,eCryptfs 不会注意到更改。据推测,eCryptfs 假设所有更改都将通过挂载。对于大多数用例来说,这显然是一个公平的假设,但当使用 eCryptfs 加密同步云存储(如 Dropbox)时,这显然是一个大问题。

我见过几个人提倡将 eCryptfs 与 dropbox 一起使用,但我还没有看到提到这个问题。有谁知道修复方法(例如关闭 eCryptfs 似乎正在使用的缓存的方法),或者知道 eCryptfs 的某种替代方案不会遇到此问题?

hru*_*ing 3

encfs视为 eCryptfs 的替代品。它不会遇到您所描述的问题。

EncFS/Dropbox 设置教程

  • EncFS 似乎确实没有遇到这个问题,这使得它更适合这项任务。我还发现了 https://github.com/timoc/encfsbox,它为 dropbox+EncFS 组合提供了一个很好的冲突处理机制,使其成为一个非常好的解决方案。 (2认同)