16.04加密消失,无法从桌面环境登录

配料

  • Ubuntu 16.04
  • Linux 4.4.0-47-通用

来路

  • 从16.04个月前的14.04升级Ubuntu(仍然后悔)

  • 不久前修改过的用户和root密码

  • 文件系统是加密的(我声称我记得密码)

  • 计算机没用几个星期(也许是非物质的,但唯一值得一提的是)

问题

rest一段时间后,我打开电脑。

Ubuntu greeter以奇怪的方式向我询问加密密码:字符串Please enter passphrase for disk (cryptswap1) on none!:立即消失。

当我开始输入密码/密码时,我重新获得了这个字符串的视图(术语实际上是模棱两可的)。 我声称我记得这个加密密码。

当我然后在用户选择屏幕中启动并尝试登录时,这个屏幕就会陷入循环。 所以我从不登录。请注意,这不是密码错误的问题。

研究

我通常在类似情况下在另一台计算机上解决此问题的方法是转到tty1 ,登录并启动sudo ecryptfs-mount-private并在那里提供加密密码。 现在,相反,我收到了消息

ERROR: Encrypted private directory is not set up properly

如果我问ecryptfs-verify -p (源密码更改后无法挂载加密的home,未配置ecryptfs(没有设置密码) ),诊断结果为

ERROR: [/home/user/.ecryptfs] does not exist ERROR: Configuration invalid

如果我问sudo ecrypts-recover-private (source ecryptfs-mount-private ERROR ),结果是find: @/run/user/104/gvfsA: Permission denied

同样,系统在工作时发生的唯一事情和系统不起作用的是我在此期间没有使用计算机。

但是,我会补充一点,在问题持续存在并且我在tty1 ,我发起了一个sudo apt-get update && sudo apt-get upgrade ,希望恢复系统不会造成伤害。 有趣的是,在安装过程中,我不得不多次输入加密密码/密码,没有投诉(我记得那个密码的证据?)

添加6月6日如果我去tty1我实际上可以看到目录树未加密 ,令我惊讶。 因此,我推断加密已经消失,不知道我,图形用户界面无法应对。

问题

合理解释这种诊断意味着什么(在系统的可靠性方面),以及重新获得对桌面环境访问我的文件系统的一些指令,svp。

此答案解决了如何恢复加密。 登录屏幕中的循环问题仍然存在 ,因此请随时编辑此答案或发布您自己的答案(我很乐意接受)。

使用ecryptfs-migrate-home恢复加密

强制阅读

man ecryptfs-migrate-home简明扼要地解释了这是如何工作的以及关键的警告。 请注意,如果驱动器中有足够的空间来制作未加密数据的完整副本(以及更多),则此解决方案可以正常工作。 例如,以df -h结帐。

有用的阅读

本教程http://bodhizazen.com/Tutorials/Ecryptfs/提供了一个很好的概述,以熟悉ecryptfs,虽然它引用了旧版本的Ubuntu。

伪代码

这必须从终端完成(例如,可从CTRL + ALT + F1访问),所有用户都可以从任何会话注销。

策略是在数据未加密的旁边创建临时配置文件。 然后,使用此临时用户在未加密ecryptfs-migrate-home上启动ecryptfs-migrate-home home。 这里的user是未加密的家庭的个人资料

 login # as user sudo adduser  sudo adduser  sudo # sudo rights are essential exit # log out user login # as tmp-user sudo ecryptfs-migrate-home -u user # sudo needed, mind the option # ... # script asks for `login passphrase` of user = linux login password # makes check (with lsof, see below) # verbose listings, can take time # prints diagnostics, to read carefully exit # log out tmp-user, DO NOT REBOOT login # as user again ecryptfs-unwrap-passphrase # type in the log-in passphrase and save the mount passphrase ls -a /home # check that the directory .encryptfs has been created ls /home/user # check that the files are visibile # play around until change of mood and mind, you may reboot 

在做的过程中

脚本ecryptfs-migrate-home启动lsof -u user (列出打开的文件)以确保用户没有打开的文件。 结果可能是一个警告关于一个文件打开的方式是什么意思这个错误消息:lsof:警告:不能stat()fuse.gvfs-fuse-daemon文件系统/home/nes/.gvfs – 我推测这可以忽略,因为它处理不可避免的情况。 更正欢迎。

在其任务结束时, ecryptfs-migrate-home通知我rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.1] – rsync是由脚本本身启动的,但我无法追溯哪些文件尚未传输以及它引用的先前错误。

做完之后

如果你看/home会有一个新的目录user.user旁边。 前者包含旧的状态:它是一个明文副本,保留为后备位置,以防万一。 在彻底测试新加密的家庭的function之后,以及在驱动器中保存未加密数据的风险之前,可以删除/粉碎。

最后,我设法将我的/home/user加密回原位。

使用桌面环境登录

还有待解决。 欢迎捐款