ecryptfs-recover-private 挂载了错误的文件系统

ecryptfs-recover-private 挂载了错误的文件系统

我在外部硬盘上备份了我的加密主目录。

当我使用 ecryptfs-recover-private /mnt/externalhdd/home/user/.Private/ 挂载外部硬盘的加密 fs 时,它会在 /tmp/... 中为其创建一个挂载点。

但是安装在那里的不是外部硬盘的 ecryptfs,而是我的主要 ecryptfs (!)。

答案1

ecryptfs-recover-private 错误处理严重不足。我的版本有一个错误,即使您输入了错误的挂载密码,它也会返回成功。当您尝试挂载几乎任何目录时,它也会返回成功,无论它是否实际包含 ecryptfs 数据。

您的问题是,您试图做显而易见的事情并挂载 home/username/.Private。这行不通!相反,您需要挂载主页/.ecryptfs/用户名/.Private。

尝试这个:

ecryptfs-recover-private /mnt/externalhdd/home/.ecryptfs/user/.Private/

按照提示使用您旧帐户的登录密码,或者如果有的话,使用挂载密码。

一旦安装完成,您应该能够访问旧帐户的内容。

答案2

看起来 ecryptfs-recover-private 在从实时 cd/dvd/usb 运行时效果最佳,它会在文件系统中搜索您的加密主目录并将其挂载在 /tmp/... 看起来它首先找到了您的主/常规加密主目录,而不是挂载外部备份,或者它没有找到外部备份的密码或类似的东西... 它应该能够获取目标目录并挂载它,就像您尝试的那样,如果您不指定目录,它应该搜索加密的私有目录并“以交互方式询问您它是否是您想要恢复的文件夹”(来自 Dustin Kirkland 关于它的博客文章,他是作者)所以尝试在不指定外部目录的情况下运行它并看看它是否找到它?建议也以 root 身份运行它。

但如果它仍然不起作用,那么您可以尝试从实时 cd/dvd/usb 启动,尽管我怀疑它可能仍会找到两个加密文件夹......

或者,如果这不起作用,你可以按照 Dustin 的旧指示,从 ecryptfs-recover-private 可用之前开始,但他后来“删除”了它们,从

http://blog.dustinkirkland.com/2009/03/mounting-your-encrypted-home-from.html

它们涉及大量的绑定安装和 chroot,这里是从他的旧方向复制粘贴的:


ubuntu@ubuntu$ sudo mount /dev/sda1 /mnt
ubuntu@ubuntu$ sudo mount -o bind /dev /mnt/dev
ubuntu@ubuntu$ sudo mount -o bind /dev/shm /mnt/dev/shm
ubuntu@ubuntu$ sudo mount -o bind /proc /mnt/proc
ubuntu@ubuntu$ sudo mount -o bind /sys /mnt/sys
ubuntu@ubuntu$ sudo chroot /mnt
root@ubuntu$ su - kirkland
kirkland@ubuntu$ ecryptfs-mount-private
Enter your login passphrase:
Warning: Using default salt value (undefined in ~/.ecryptfsrc)
Inserted auth tok with sig [xxx] into the user session keyring
kirkland@ubuntu$ cd $HOME
kirkland@ubuntu$ ls -alF
...
kirkland@ubuntu$ cat .profile
...

上述过程假设您的 ~/.ecryptfs/wrapped-passphrase 文件在此系统上可用。如果您使用双因素身份验证并将其存储在其他地方,则可能需要执行额外的挂载和符号链接才能使此文件可用。

或者,如果你尝试恢复数据,并且已正确记录挂载密码,则可以使用

kirkland@ubuntu$ ecryptfs-add-passphrase --fnek

就在 ecryptfs-mount-private 位之前,手动输入您的密码(而不是从 ~/.ecryptfs/wrapped-passphrase 中提取)。

笔记:

  1. /dev/sda1 是为我的 $HOME/.Private 提供服务的设备
  2. kirkland 是我的用户名,你的用户名可能有所不同 ;-)
  3. 绑定安装 /sys 和 /proc 至关重要——ecryptfs 需要访问在那里共享的内核信息
  4. “su - ”中的破折号很重要——不要忘记它!


(Kirkland 旧指示结束)

然后,如果那里的一切仍然不起作用,您可以随时尝试手动挂载您的私人目录,使用mount -t ecryptfs [SRC DIR] [DST DIR] -o [OPTIONS] 并查看man ecryptfs有关各种挂载选项的信息,您可能需要知道诸如密码类型和密钥字节之类的信息,以及是否启用了no_sig_cache或filename_crypt,或者如果您只是尝试不使用任何选项,它可能只会要求您输入挂载密码?我认为实际的挂载密码可能是使用您的用户密码随机创建和包装的,然后存储(在您家的某个地方?在.Private中?),这就是为什么他们有像ecryptfs-mount-private和ecryptfs-recover-private这样的工具。

相关内容