我意外删除了 /usr/lib 文件夹。我灵机一动,想重启一下看看它是否还能启动。但出乎意料的是,它不能启动。我的主目录已加密,但我不记得加密短语了。
但是我可以启动到 root 终端并访问我的文件。从那里我甚至可以登录我的帐户。所以据我所知,如果您登录到加密文件的帐户,则不需要加密密码。但出于某种原因,我仍然只能在 /home/MYUSER/ 中看到“Access-Your-Private-Data.desktop”文件。而且当我运行命令“ecryptfs-recover-private”时,系统会要求我输入恢复密码。
尽管我已登录到加密文件的用户,但还是发生了上述情况。只要我的 UI 仍在运行,我就无需输入恢复短语。
有没有什么办法可以在不知道加密密钥而只知道我的用户名的情况下取回我的数据?
答案1
您应该始终备份您的加密密码并在外部硬盘上创建单独的备份...
无论如何,我认为您没有删除密钥本身。您删除的是 encfs 库。
find /usr/lib/ | grep encfs
/usr/lib/libencfs.so.6
/usr/lib/libencfs.so.6.0.2
/usr/lib/libencfs.so
您的加密密钥应该位于:
/home/$USER/.ecryptfs
或者
/home/.ecryptfs/$USER/.ecryptfs
您需要从实时系统启动,并使用加密的主目录挂载主分区。
对于恢复使用:
它应该找到加密的主页,您只需要登录密码。恢复后进行外部备份并重新安装系统。
答案2
好的,我找到了恢复它的方法。不幸的是,大多数用于恢复加密密钥或安装软件包的命令都无法从该机器上运行,因为根本没有软件包。我还使用另一台机器尝试访问 /home/$USER/.ecryptfs 上的加密密钥,但收到密钥已损坏的错误。
最后,我在新的分区上安装了相同的 Linux 版本,挂载了旧版本,并将新安装的整个 /usr/lib 文件夹复制到我崩溃的那个文件夹。
之后,我能够再次启动我的系统,并且可以使用用户密码解密所有文件。