我的问题如下:
我决定做一个apt-get dist-upgrade
。起初它说必须删除很多程序,这似乎有点可疑,但我相信升级系统。我对自己说:“好吧,也许存在依赖关系问题,更新系统更容易删除这些程序并安装较新的程序。现在是 2015 年,它可能知道自己在做什么”。好吧,它不知道,因为它基本上删除了操作系统。
所以现在我的问题是:我无法恢复我的个人文件,因为我的主文件夹已加密,并且我没有挂载密码,只有我的用户密码。我搜索了整个网络,但找不到任何能解决我的问题的东西。我尝试从 live-cd 启动并使用恢复密码,ecryptfs-unwrap-passphrase
但毫无用处,因为当我尝试时,它会要求我输入我的...密码(我尝试了我的用户密码,但没有成功)。我也尝试使用这脚本,但它只输出无法识别的字符。
我尝试了建议的方法这里但最终它们没有成功,基本上当我被要求输入密码时,我无法用任何一种方法来恢复它。
有什么建议么?
编辑:@zhongfu
我这样做了,并得到了以下结果:
INFO: Found [MYUSER].
Try to recover this directory? [Y/n]: y
INFO: Could not find your wrapped passphrase file.
INFO: To recover this directory, you MUST have your original MOUNT passphrase.
INFO: When you first setup your encrypted private directory, you were told to record
INFO: your MOUNT passphrase.
INFO: It should be 32 characters long, consisting of [0-9] and [a-f].
Enter your MOUNT passphrase:
所以我们又回到了原点。所以我去了/media/xubuntu/f6c13be2-8045-4ec6-b1af-c1f2524de4ed/home/.ecryptfs/MYUSER/.ecryptfs
,有一个名为的文件wrapped-pashprasse
,显然有一个包装好的密码,我不知道为什么它说它之前找不到它。接下来我ecryptfs-unwrap-passphrase
输入了我的账户密码,但得到的结果是一样的。我不知道还能做什么。
我打开了包装好的密码文件,gedit
结果发现里面有奇怪的符号和十六进制值。如果我能正确地看到这些奇怪的符号编码的字符,我就能得到密码,但我不知道怎么做。
我在想,如果我能得到该文件的二进制表示形式,我就可以自己将这些符号转换为十六进制,对吗?
答案1
您可以尝试使用ecryptfs-recover-private
。
- 启动你的 Live CD,最好是较新版本的 Ubuntu
- 挂载包含你的主目录的分区(根分区或你的
/home
分区,如果有的话) - 在您的终端中,导航到包含您的主目录的目录(应该是类似的
/media/PARTITION_UUID/home
) - 运行
ecryptfs-recover-private USERNAME
。它会提示你几个问题,如果成功,它会返回一个目录,你的主文件夹以只读方式挂载到该目录。(例如/tmp/ecryptfs.Jd7xE2Bd
)
答案2
我遇到了同样的问题,你的问题对我非常有用。未来,我需要做以下事情:
首先,找到 ecryptfs 目录。在我的例子中,它位于
/media/.../home/.ecryptfs/<user>/.ecryptfs
我的主文件夹中。在该目录中,获取
wrapped-passphrase
文件。获取挂载密码运行sudo ecryptfs-unwrap-passphrase /path/to/wrapped-passphrase
并输入用户密码。使用 sudo 很重要。sudo ecryptfs-recover-private
然后,在目录中运行.Private
。在我的例子中,它位于/media/.../home/.ecryptfs/<user>/.Private
。使用在步骤 2 中获得的密码。
答案3
这个周末升级到 kubuntu 18.04 后,我遇到了同样的问题。我后来才意识到,我最近没有存档我的文件,虽然我没有格式化 /home 分区,但我无法访问其中的文件。上面的方法对我来说不起作用,但应该有用。我可以找到并解开包装的密码,但将其插入上述任何一种方法都不起作用。
我最终找到了错误报告这似乎不是导致我的问题的原因,但确实暴露了一种进入的方法。我首先keyctl clear @u
清除存储的密钥(以 sudo 身份运行所有内容)。ecryptfs-mount-private
在适当的目录上运行以生成两个密钥。接下来ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase
按照上面的解决方案运行,并复制链接中显示的名为 PPPP... 的密码(如果您在此处获得密码,则表示您输入了正确的登录密码)。
接下来sudo ecryptfs-add-passphrase --fnek
按照错误报告中的步骤运行并粘贴复制的密码。严格按照错误报告中的其余说明操作,您应该可以再次访问。复制到安全的地方并继续。