意外删除了 .ecryptfs 文件夹 - 无法随时登录

意外删除了 .ecryptfs 文件夹 - 无法随时登录

我意外删除了 .ecryptfs 文件夹,还有 .private 文件夹。无法再登录。只能以访客身份登录。我该如何恢复到删除这些文件夹之前的系统?

答案1

您是否记录了随机生成的挂载密码?它将是 16 或 32 个字符的 [0-9a-f]。如果您有这么长的随机密码,那么恢复起来相对容易。如果您没有,就没有恢复的机会。

如果您有随机生成的挂载密码,您将重新创建 .ecryptfs 目录。

mkdir $HOME/.ecryptfs
ecryptfs-add-passphrase --fnek
[enter your long, random mount passphrase]
keyctl list @u
[add the two key fingerprints to $HOME/.ecryptfs/Private.sig]
ecryptfs-wrap-passphrase $HOME/.ecryptfs/wrapped-passphrase
echo $HOME > $HOME/.ecryptfs/Private.mnt

答案2

恢复驱动器的唯一方法是获取安装密码,它是加密时提供给您的 16、32 或 64 个字符的字符串。如果您没有保存该字符串,您的数据将丢失。为了简化演示,我们假设您创建了一个名为 的新文件,/home/USER/mountkey并将上述密码存储在其中。在下面的 bash 代码片段中,将其替换USER为您的用户名。

如果您有该密码,请按照以下步骤操作:

mkdir /home/USER/.ecryptfs
touch /home/USER/.ecryptfs/Private.sig
ecryptfs-add-passphrase --fnek

系统会要求您输入密码。输入密码后,您将获得两个签名密钥。将这两个密钥存储在 中的两个单独行中/home/USER/.ecryptfs/Private.sig(如果您丢失了这些密钥,可以通过运行 来检索它们keyctl list @u)。

现在运行以下命令:

cat /home/USER/mountkey <(echo "ORIGINAL_PASSWORD") | ecryptfs-wrap-passphrase /home/USER/.ecryptfs/wrapped-passphrase

在上面,ORIGINAL_PASSWORD 是您最初用于加密硬盘的密码。您使用的密码很有可能与登录密码相同,但这不一定正确。ORIGINAL_PASSWORD 也不同于开头所述的密码,后者是 16、32 或 64 个字母数字字符串。

现在您需要指定主驱动器的安装位置,并激活自动安装:

/home/USER/ > /home/USER/.ecryptfs/Private.mnt
touch /home/USER/.ecryptfs/auto-mount
touch /home/USER/.ecryptfs/auto-umount

相关内容