更改密码后如何重新获得对加密主目录的访问权限?

在12.04 LTS x64上,我通过User Accnts工具更改了用户密码。 之后我无法再使用我的新密码登录,因为我的主目录已加密,上述错误不允许使用新的登录密码解密主目录。
用于解密主目录的密码保存在我加密的主目录的文件夹中。

有没有办法恢复此密码并解锁我的主目录?
没有单独的解密密码记录。 我仍然有一个function正常的访客帐户,我可以访问,但我不清楚我是否能以某种方式访问​​我加密的用户主目录中的文件,同时以Guest身份登录并且没有解密密码。 请尽快通知。

如果您正在使用ecryptfs (这是加密主文件夹的标准方法,那么可能就是这样),那么当您更改用户密码时,您将失去对加密主页的自动访问权限(如您所发现的那样)。 这不应该发生在大多数常规方法来更改密码(如passwd ),他们应该使用PAM自动更新加密(但如果管理员更改/重置密码,则不会,或者它不安全) 。

ecryptfs实际上建议您保留它使用的实际密码短语的备份副本(它不是您的登录密码短语,但它是加密的或“包裹”您的登录密码短语)以防万一您所指的包装密码短语文件出现问题。

但是使用ecryptfs-unwrap-passphrase你应该能够找到实际的ecryptfs密码。

使用ecryptfs-rewrap-passphrase您可以使用旧的用户密码来“解包”ecryptfs密码,然后使用新的用户密码“重新包装”它。 这是来自它man页的剪辑:

 NAME ecryptfs-rewrap-passphrase - unwrap an eCryptfs wrapped passphrase, re‐ wrap it with a new passphrase, and write it back to file. SYNOPSIS ecryptfs-rewrap-passphrase [file] printf "%s\n%s" "old wrapping passphrase" "new wrapping passphrase" | ecryptfs-rewrap-passphrase [file] - 

但是我会在运行它们之前制作任何文件的备份副本。 (ps。你不需要使用printf...格式,如果你不介意输入密码,它只能运行ecryptfs-rewrap-passphrase [file] )。

你可以运行ecryptfs-recover-private来挂载它找到的任何ecryptfs加密的私有文件夹,然后备份/复制等。

有关更多信息,请参阅man ecryptfs和所有ecryptfs-...工具的man页。 而archlinux的wiki在https://wiki.archlinux.org/index.php/ECryptfs上提供了一些相当不错的信息。

以下是我使用Linux Mint Live CD解决Linux Mint安装问题的方法:

 mint@mint /tmp $ sudo ecryptfs-recover-private INFO: Searching for encrypted private directories (this might take a while)... INFO: Found [/media/mint/632d671e-65a8-4566-b101-hab6b061b502/.ecryptfs/USERNAME/.Private]. Try to recover this directory? [Y/n]: n mint@mint /tmp $ sudo ecryptfs-recover-private INFO: Searching for encrypted private directories (this might take a while)... INFO: Found [/media/mint/632d671e-65a8-4566-b101-hab6b061b502/.ecryptfs /USERNAME/.Private]. Try to recover this directory? [Y/n]: y INFO: Found your wrapped-passphrase Do you know your LOGIN passphrase? [Y/n] y INFO: Enter your LOGIN passphrase... Passphrase: Inserted auth tok with sig [562b3416hhc4ud6r] into the user session keyring INFO: Success! Private data mounted at [/tmp/ecryptfs.1x34gL7R]. mint@mint /tmp $ gksu nemo [<---- NOTE THAT I HAVE OPENED TERMINAL IN THE TEMP FOLDER of the LIVE CD NOW] 

通过Nemo文件浏览器(我相信它是Ubuntu中的Nautilus)我导航到名为ecryptfs.1x34gL7R的NEWLY PLACED文件夹(在LIVE CD的TEMP文件夹中),然后右键单击该文件夹,选择“以root身份打开” ”。

马上,没有任何进一步的密码挑战,我访问了我迄今无法访问的主目录。

我没有看到任何其他方法来恢复我的能力水平的数据。

有一个看似替代路线使用ecryptfs需要您的用户密码,但它总是拒绝您输入的密码 - 总是。 即使你的实际Mint密码是正确的,Live CD也没有root密码。 我希望我能记住我在这里谈论的路线,但基本上,它总是拒绝你的密码。 算了。

如果你无法使用我所展示的方法到达任何地方,那么你可能忘记了自己的登录密码(不太可能),或者你的加密密钥已经损坏(通过硬盘驱动器故障或者你已经删除了gvfs - 从不触摸gvfs - 互联网上的一些巨头说它存在安全风险,并给出了如何删除它的说明,但这将完全破坏你的系统 )。

如果您无法访问加密的驱动器,那么您至少可以将加密的文件夹从Live Disc tmp文件夹复制到备份驱动器VIA TERMINAL(例如, cp -a /source/. /dest/ OR也许它是cp -a ~/source/. ~/dest/ ),然后将它带给专家解密,在某个无限期的日期。

现在您可以再次看到您的文件,您遇到了一个新问题 - 您实际上无法将任何内容移出浏览器窗口。 但是,您至少可以打开单个文件(文本,文字处理器和图片文件)并选择将它们保存到新位置(例如备份驱动器)。

最后 ,我很抱歉Ubuntu和Mint程序员(是的,这是我和你)等等 - 但Linux需要改进,以便在数据恢复的情况下用户友好。 如果数据存在,并且用户全井知道他的密码,那么数据恢复过程应该更加简化!

PS记住:它是ecryptfs NOT encryptfs ,并且记住Live CD很可能使用默认的美式键盘字符集, 因此请相应地更改输入登录密码的方式,例如,如果您的密码使用特殊字符。