ecryptfs-recover-private 问题:mount(2) 失败

ecryptfs-recover-private 问题:mount(2) 失败

我正在将操作系统和数据从同一台计算机中的一个驱动器移动到另一个驱动器。(我买了一个不错的新 SSD。)我的旧主目录中有一个加密的子目录,我想从新安装中访问该加密目录。我正在尝试使用ecryptfs-recover-private。但是,我遇到了以下错误。

$ sudo ecryptfs-recover-private /BLAH/.Private
INFO: Found [.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 [BLAH] into the user session keyring
mount: mount(2) failed: No such file or directory
ERROR: Failed to mount private data at [/tmp/ecryptfs.NcWkVmQ5].

ecryptfs-recover-private如果我让它自己找到目录或者我对登录密码说否而是使用挂载密码,我就会遇到同样的问题。

有什么想法吗?

(我意识到这个网站上有几个类似的问题,但似乎没有一个能完全涵盖我的情况。)

答案1

我不知道为什么会发生这种情况 - 也许是当您在新的设置上使用与您尝试恢复的设置相同的 LOGIN 密码时内核密钥环出现了问题。

也就是说,在尝试恢复文件系统之前将包装的密码添加到内核密钥环中是可行的(请确保sudo在下面两个命令中使用):

sudo ecryptfs-insert-wrapped-passphrase-into-keyring /BLAH/.ecryptfs/wrapped-passphrase
sudo ecryptfs-recover-private /BLAH/.Private

答案2

因此,这个简单的命令ecryptfs-recover-private被证明是不可靠的。上述方法对我都不起作用,试图从加密文件系统卢克斯容器。

真正起作用的是手动方法描述Ubuntu 社区维基

详细地:

# sudo -i
# ecryptfs-add-passphrase --fnek 
Inserted auth tok with sig [aaaaaaaaaaaaa] into the user session keyring 
Inserted auth tok with sig [bbbbbbbbbbbbb] into the user session keyring  
# mkdir -p /mnt/new_mount_point  
# mount -t ecryptfs /mnt/old_mount_point/home/username/.Private /mnt/new_mount_point
  • 选择 3(使用密码密钥类型,并使用恢复的密码,又名解开的密码)
  • 选择 aes(使用 aes 密码)
  • 选择 16 (使用 16 字节密钥)
  • 启用纯文本传递:n
  • 启用文件名加密:y

答案3

对我来说,这是有效的,正如讨论的那样ecryptfs-mount-private 无法初始化 ecryptfs 密钥

sudo keyctl link @u @s
sudo ecryptfs-recover-private .Private

答案4

在我将前一个(原始) POSIX 用户名重命名为 old_user (和)并使用原始(前一个用户名)名称创建新用户后,我也遇到了类似的错误。

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

之后,以下命令可以毫无问题地挂载旧主目录。/usr/bin/ecryptfs-recover-private /home/old_user/.Private

相关内容