我一直在使用ecryptfs
来通过ecryptfs-mount-private
和ecryptfs-umount-private
手动挂载/卸载私人商店。当我以配置ecryptfs
的用户身份登录(即:用户名为 bob )时,它会要求我的Linux用户帐户的登录密码才能安装私有商店。如果我在通过passwd
命令行实用程序登录系统时更改了密码,ecryptfs
需要我的新密码才能安装专用存储。
如果我以root
用户身份登录(即:sysadmin)并通过sudo passwd bob
更改 bob 帐户的密码,然后登录Bob'当我使用我在ecryptfs-mount-private
登录时设置的新密码时,帐户root
将失败。
我的理解是ecryptfs
使用用户密码的哈希来生成另一个哈希/密钥,用于" wrap"私人商店中的加密文件。但如果是这样的话,为什么它只是工作"当我以实际用户身份登录时更改密码,但是当我以root用户身份重置密码时却没有?
到目前为止,我最好的猜测是,可能会将一些设置传递给passwd
实用程序,这会导致它在完成后运行辅助脚本。有谁知道这对ecryptfs
有用吗?
谢谢!
答案 0 :(得分:2)
当用户更改自己的密码时,会调用PAM(here或here)以使用新的用户密码重新包装eCryptfs密码,这样您下次就可以解密您的家登录。
不知何故,我不知道确切的逐行细节,但我想我在/etc/pam.d/common-password
找到了一条可疑行:
password optional pam_ecryptfs.so
如果root尝试,则解包eCryptfs密码会失败,因为它没有您的用户登录密码。 eCryptfs还明确告诉您在创建加密的主页(可能是任何加密的私有文件夹)时备份实际的eCryptfs密码,因为如果eCryptfs包装的密码文件发生了某些事情,或者您忘记了登录密码,则文件将被有效丢失。 / p>
如果root可以通过更改您的登录密码来随时更改您的eCryptfs密码,那么除了root之外您将没有真正的安全性。