![加密主目录:重置 sudo 密码后无法登录](https://linux22.com/image/984485/%E5%8A%A0%E5%AF%86%E4%B8%BB%E7%9B%AE%E5%BD%95%EF%BC%9A%E9%87%8D%E7%BD%AE%20sudo%20%E5%AF%86%E7%A0%81%E5%90%8E%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95.png)
我有一个用户,说secretuser,并带有加密的主目录。不幸的是,我忘记了用户secretuser因为它非常保密。所以我用另一个管理员用户登录,比如主用户,并更改了secretuser通过图形用户界面,比如“newpass”。当尝试以secretuser,当我使用“newpass”时,没有出现“密码错误”之类的信息,但在屏幕闪了一下后,我立即返回到图形登录屏幕。所以我再次登录为主用户并在 shell 窗口中执行:
masteruser$ su secretuser
我在提示符下输入了“newpass”,然后能够登录到 shell。但仍然无法进行图形登录。效果与以前相同。因此,我得出结论,图形对话框无法完全完成其工作,并给了命令提示符一个机会:
masteruser$ sudo passwd secretuser
当然,我必须改成其他的,比如说“newpass1”。不幸的是,图形登录显示的问题和以前一样,但现在,当su
我secretuser,我只看到了一个加密的文件系统。
masteruser@zhadum:~$ su secretuser
Passwort: newpass1
Signature not found in user keyring
Perhaps try the interactive 'ecryptfs-mount-private'
secretuser@zhadum:/home/masteruser$ cd /home/secretuser
secretuser@zhadum:~$ ls
Access-Your-Private-Data.desktop README.txt
secretuser@zhadum:~$
也许我把安全措施做得有点过了,因为现在我完全陷入了困境。密码似乎已经更改,但它不适用于图形登录,也不适用于解密用户目录。ecryptfs-mount-private
按照建议尝试也没有用,因为“newpass”和“newpass1”都不被接受。删除并重新创建用户会让我损失 3 周的工作,因为最近的备份,真丢脸,不是最新的。
我有机会再次获得访问权限吗?
更新:感谢@mxdsp 提供的链接,我尝试了:
masteruser@zhadum:~$ sudo ecryptfs-recover-private
[sudo] password for masteruser: ----
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/home/.ecryptfs/secretuser/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] Y
INFO: Enter your LOGIN passphrase...
Passphrase: newpass1
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
masteruser@zhadum:~$ cd /var/log
masteruser@zhadum:/var/log$ tail syslog
Oct 9 06:05:19 zhadum ecryptfs-insert-wrapped-passphrase-into-keyring: Incorrect wrapping key for file [/home/.ecryptfs/secretuser/.Private/../.ecryptfs/wrapped-passphrase]
Oct 9 06:05:19 zhadum ecryptfs-insert-wrapped-passphrase-into-keyring: Error attempting to unwrap passphrase from file [/home/.ecryptfs/secretuser/.Private/../.ecryptfs/wrapped-passphrase]; rc = [-5]
Oct 9 06:05:21 zhadum wpa_supplicant[1625]: nl80211: send_and_recv->nl_recvmsgs failed: -33
并且:
masteruser@zhadum:/var/log$ sudo ecryptfs-recover-private
INFO: Searching for encrypted private directories (this might take a while)...
INFO: Found [/home/.ecryptfs/secretuser/.Private].
Try to recover this directory? [Y/n]: Y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] n
INFO: To recover this directory, you MUST have your original MOUNT passphrase.
INFO: When you first setup your encrypted private directory, you were told to record
INFO: your MOUNT passphrase.
INFO: It should be 32 characters long, consisting of [0-9] and [a-f].
Enter your MOUNT passphrase: byebye secretuser...
我想现在我完了。我现在开始为我的愚蠢感到悲伤,然后问另一个问题,如何真正删除 32 GBsecretuser从我的硬盘中 - 以确保不会留下更多混乱......
答案1
答案2
你需要
最后一个登录密码(即您使用 强制设置新登录密码之前的密码
sudo
)或者
设置加密时创建的原始挂载密码。
该wrapped-passphrase
文件保存了您加密主目录的挂载密码,并使用您的登录密码进行加密。通过使用 sudo 强制使用新密码,而无需使用旧密码或登录,您的wrapped-passphrase
文件不会被解密并使用新的登录密码重新加密。这是设计用来提供任何sudo
武装用户都无法绕过的真正安全性。
当您使用 eCryptFS 工具设置加密主页时,ecryptfs-migrate-home
它会要求您备份实际的挂载密码,以防出现这样的问题(您忘记登录密码或文件wrapped-passphrase
丢失或损坏)。
仅拥有您首次创建用户时的登录密码可能没有什么用,除非您还拥有wrapped-passphrase
同一时间使用相同登录密码的文件副本。