如何在另一台 Ubuntu 机器上挂载加密的 /home 目录?

如何在另一台 Ubuntu 机器上挂载加密的 /home 目录?

我做了一件有点奇怪的事。我将 Ubuntu 12.04 直接安装到 USB 拇指棒上,并/home按照安装过程中给出的选项加密目录。我认为文件系统是 btrfs。

我现在已经将它插入运行 Ubuntu 的计算机,我想将文件复制到 USB 上。我该如何安装加密的主目录,以便将文件复制到其中?

答案1

您可以使用ecryptfs-recover-private

ecryptfs-recover-private /media/<UUID>/home/.ecryptfs/<USERNAME>/.Private

它将提示输入挂载密码,解锁包装的密码短语,然后/tmp/仅使用单个命令以只读模式挂载目录。使用标志--rw将加密文件系统挂载为读写模式。

请注意,正如评论中提到的,您可能需要ecryptfs-manager先运行并退出才能使其正常工作。

您可以检查手册页了解更多信息。

答案2

注意: 答案是正确的,但是另一种更新、更快捷的方式仅需一步即可存在ecryptfs-recover-private。请确保选中以下所有答案。


要访问您硬盘上的数据并将文件复制到硬盘上,您需要安装 eCryptfs。这涉及几个步骤:

首先你应该插入你的存储棒。如果 Ubuntu 没有自动安装它(通常会自动安装),你应该安装它。

现在你应该找到一个名为 的目录.Private。如果你进行了默认安装,则此目录应位于/media/DISK/home/.ecryptfs/USERNAME/.Private。在此示例中DISK,这是挂载你的棒的目录,也是USERNAME你在安装时输入的用户名。如果你自己找不到它,请打开终端并输入

sudo find /media -type d -name .Private

在以下步骤中,我假设该目录位于/media/DISK/home/.ecryptfs/USERNAME/.Private

你需要挂载密码。这与您的登录密码不同。在终端中输入以下命令:

ecryptfs-unwrap-passphrase /media/DISK/home/.ecryptfs/USERNAME/.ecryptfs/wrapped-passphrase

您必须输入安装 USB-Ubuntu 时的登录密码(不是您的常用密码)。该命令输出密码短语。将其记下来或复制到文件中。

密码可让您解锁目录。您需要分两步进行操作:

> sudo ecryptfs-add-passphrase --fnek
Inserted auth tok with sig [123456789abcdef0] into the user session keyring
> sudo mount -t ecryptfs /media/DISK/home/.ecryptfs/USERNAME/.Private /media/myUSB

第一个命令将您的密码添加到内核密钥环,第二个命令尝试将您的挂载.Private到目录/media/myUSB。如果目录不存在,您必须先创建它:

sudo mkdir /media/myUSB

mount命令将再次询问登录密码。接下来它会询问一堆东西。

  • 接受默认的密码和密钥大小值(aes16)。
  • 纯文本传递的类型n
  • 文件名加密的类型y
  • 最后一点是文件名加密密钥 (FNEK)。查看ecryptfs-add-passphrase --fnek刚刚输入的命令的输出。有两行以 开头Inserted auth tok …。将值插入第二个输出的方括号中 ( 123456789abcdef0)。

现在您可以访问目录或子目录中的文件/media/myUSB,并且可以从目录或子目录中复制文件。

我的描述很大一部分来自“打开加密主目录的 Live CD 方法“。

答案3

我遇到过类似的问题,最后只能到此为止。我正在将系统迁移到另一个硬盘上,新旧系统上的用户都是同一个,并且主目录是加密的。

我试过

ecryptfs-recover-private /media/old_disk/home/my_name/.Private

但该目录实际上是指向

/home/.ecryptfs/my_name/.Private/

目标目录存在,但在我的新磁盘

正确的命令应该是:

ecryptfs-恢复-private /media/old_disk/home/.ecryptfs/my_name/.Private

如果检测到这种模式,ecryptfs-recover-private 可能应该显示警告。这看起来像是一个常见错误。

答案4

密码短语解包不起作用。我需要执行:

ecryptfs-unwrap-passphrase /media/DISK/home/.ecryptfs/USERNAME/.ecryptfs/wrapped-passphrase 

相关内容