无法挂载旧的加密主目录

无法挂载旧的加密主目录

我将home目录托管在与 Ubuntu 安装的其余部分分开的硬盘上。我最近买了一个新驱动器,正在将用户数据从旧驱动器迁移到新驱动器。

问题是:我使用 ecryptfs 加密了我的用户主目录,现在我无法挂载旧的加密目录。我知道这个类似的线程,并且我尝试ecryptfs-recover-private按照建议使用命令,但出现以下错误(使用 的输出更新dmsg):

jrsmith3@hermes:~$ sudo ecryptfs-recover-private || sudo dmesg -T | tail -n 5
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/mnt/.ecryptfs/jrsmith3/.Private].
Try to recover this directory? [Y/n]: 
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] 
INFO: Enter your LOGIN passphrase...
Passphrase: 
Inserted auth tok with sig [154a85415793937b] into the user session keyring
mount: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.HUXQDUjB].
[Sun Dec  6 10:21:34 2015] Could not find key with description: [a798123c6b6e6b59]
[Sun Dec  6 10:21:34 2015] process_request_key_err: No key
[Sun Dec  6 10:21:34 2015] Could not find valid key in user session keyring for sig specified in mount option: [a798123c6b6e6b59]
[Sun Dec  6 10:21:34 2015] One or more global auth toks could not properly register; rc = [-2]
[Sun Dec  6 10:21:34 2015] Error parsing options; rc = [-2]

我怀疑问题可能不在于 ecryptfs;看起来错误是出在命令上mount,但我无法弄清楚。

我正在运行 Ubuntu:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty

提前致谢!

答案1

尝试自己逐步执行ecryptfs-recover-private脚本?这只是一个 bash 脚本,您可以将相关行复制并粘贴到终端中,用实际文件替换变量。

您还可以复制ecryptfs-recover-private脚本并对其进行修改,添加一些额外的 echo 行以查看挂载之前的变量、要运行的 echo 行等。(我确信有一个 bash 设置可以在运行之前显示每一行,但现在记不清了。)

尽管脚本检查了这一点,但也许ecryptfs-insert-wrapped-passphrase-into-keyring签名不匹配......但您的输出会插入一个密钥签名,并尝试使用不同的签名进行挂载。.ecryptfs/Private.sig

至少您可以运行 mount 来-v获得更多反馈并验证文件夹和签名是否正确。

还有一个错误,我以为只是出现mount.ecryptfs但也许出现在这里,其中 fnek 和 fekek sigs 以某种方式被切换了。

或者,也许某些文件已损坏。fsck可能需要任何新闻或当前备份。也/var/log/syslog可能有更多信息。

答案2

ERROR: Failed to mount private data at [/tmp/ecryptfs....]在我将前一个(原始) POSIX 用户名重命名为 old_user,然后使用原始(前一个用户名)的登录名创建新用户后,出现了同样的错误。

为了能够从 old_user 挂载加密的主目录,我必须在其文件夹中重新制作 .encryptfs 和 .Private 的符号链接(因为它们指向 /home/original_name/)。

此后,以下命令可以毫无问题地安装旧目录。

/usr/bin/ecryptfs-recover-private /home/old_user/.Private

如果上述操作由于密钥问题而失败(查看 dmesg 或 syslog),例如

Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]

然后尝试手动添加密码:选项1/usr/bin/ecryptfs-manager它可能会显示密钥已经存在,没关系。)然后ecryptfs-recover-private /home/old_user/.Private再次执行。如果仍然出现错误,请尝试以下命令:

ecryptfs-insert-wrapped-passphrase-into-keyring /home/old_user/.ecryptfs/wrapped-passphrase

相关内容