3

我一直在尝试通过和ecryptfs手动挂载/卸载私人商店。当我以配置的用户身份登录时(即:用户名是bob),它会询问我的 Linux 用户帐户的登录密码,以便挂载私人商店。如果我在通过命令行实用程序登录系统时更改了密码,则需要我的新密码才能挂载私有存储。ecryptfs-mount-privateecryptfs-umount-privateecryptfspasswdecryptfs

如果我以root用户身份(即:sysadmin)登录并通过更改bob帐户的密码sudo passwd bob,然后登录到 Bob 的帐户,ecryptfs-mount-private当我使用我在登录时设置的新密码时将失败root

我的理解是ecryptfs使用用户密码的哈希来生成另一个哈希/密钥,用于“包装”私人存储中的加密文件。但如果是这样的话,为什么当我以实际用户身份登录时更改密码时它“正常工作”,但当我以 root 身份重置密码时却不行?

到目前为止,我最好的猜测是,可能某些设置被传递给passwd实用程序,导致它在完成后运行辅助脚本。有谁知道这是如何工作的ecryptfs

谢谢!

4

1 回答 1

3

当用户更改自己的密码时,会调用 PAM(此处此处)以使用新的用户密码重新包装 eCryptfs 密码,这样您就可以在下次登录时解密您的家。

不知何故,我不知道确切的逐行详细信息,但我认为我在以下位置找到了可疑行/etc/pam.d/common-password

password        optional        pam_ecryptfs.so

如果 root 尝试,解开 eCryptfs 密码短语应该会失败,因为它没有您的用户登录密码短语。eCryptfs 还明确告诉您在创建加密主目录(可能是任何加密的私人文件夹)时备份实际的 eCryptfs 密码,因为如果 eCryptfs 包装的密码文件出现问题,或者您忘记了登录密码,文件将有效丢失。

如果 root 可以通过更改您的登录密码随时更改您的 eCryptfs 密码,那么除了 root 之外,您将没有真正的安全性。

于 2015-01-31T13:24:56.373 回答