问题描述
我做了一些事情,很好,很奇怪。我将Ubuntu 12.04直接安装到USB拇指杆上,并在安装过程中根据选项对/home目录进行了加密。我相信文件系统是btrfs。
现在,我将其粘贴到运行Ubuntu的计算机中,并想将文件复制到USB memory 棒上。如何安装已加密的主目录,以便可以将文件复制到该目录?
最佳思路
要访问棒上的数据并将文件复制到其中,您需要安装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
命令将再次询问登录密码。接下来,它将要求一堆东西。
-
接受默认的密码和密钥大小值(
aes
和16
)。 -
键入
n
进行纯文本传递。 -
键入
y
进行文件名加密。 -
最后是FileName加密密钥(FNEK)。查看刚刚键入的
ecryptfs-add-passphrase --fnek
命令的输出。有两行以Inserted auth tok …
开头。将值插入第二个输出(123456789abcdef0
)的方括号中。
现在,您可以访问/media/myUSB
中的文件,并且可以在目录或子目录之间进行复制。
我的描述很大一部分来自“ Live CD method of opening a encrypted home directory”。
次佳思路
您可以使用ecryptfs-recover-private
。
ecryptfs-recover-private /media/<UUID>/home/.ecryptfs/<USERNAME>/.Private
它将提示输入安装密码,解锁wrapped-passphrase并仅通过单个命令在/tmp/
下以只读模式安装目录。使用标志--rw
可以将加密的文件系统安装为读写状态。
您可以检查man page以获取更多信息。
第三种思路
我有类似的问题,到此结束。我正在将系统迁移到另一个硬盘驱动器,并且在旧系统和新系统上都使用相同的用户使用加密的主页。
我试过了
ecryptfs-recover-private /media/old_disk/home/my_name/.Private
但该目录实际上是指向的符号链接
/home/.ecryptfs/my_name/.Private/
目标目录已存在,但指向我的新磁盘上的.Private。
正确的命令应为:
ecryptfs-recover-private /media/old_disk/home/.ecryptfs/my_name/.Private
如果ecryptfs-recover-private检测到此模式,则应显示警告。看来是常见错误。