2

我想我需要在登录时将用户密钥环中的密钥添加到内核密钥环,但让我解释一下整个事情:

我有一个自定义ecryptfs目录设置了一个巨大的烦人密码,因为Ubuntu 拒绝实现对关键文件的支持

2011不幸的是,由于许可证不兼容(如下所述),我们目前没有针对 ssl 构建 ecryptfs。不过,我打算让这个错误保持开放,并尝试解决这些问题。

2012近期内没有改进此功能的计划。这是一项相当大量的工作,但没有开发人员对该功能表现出兴趣。

我想ecryptfs在登录时自动挂载/“解锁”这个目录,而不必手动输入这个烦人的密码。在 Ubuntu (also ecryptfs) 中使用加密的主目录时,使用登录密码解包的密钥会发生这种情况,但这不适用于自定义挂载。

对于其他用途(例如LUKS),您可以简单地将密钥/密码存储在您的用户密钥环中。但是因为ecryptfs在内核中工作,所以这个密钥需要存储在.kernel keyring而不是user keyring.

ecryptfs-add-passphrase手动,您可以使用or将密钥添加到内核密钥环ecryptfs-manager,之后您可以根据需要安装和卸载ecryptfs目录。但是在重新启动后,这个密钥又消失了,而且有充分的理由。

但是我希望它在我用我的用户登录后自动恢复,这样我就可以ecryptfs再次挂载/卸载目录而无需输入它的密码。我怎样才能做到这一点?

更新

Archlinux上有一个专门为此目的开发的名为ecryptfs-simple的工具: ecryptfs-simple 是一个实用程序,供希望以最简单的方式使用 eCryptfs 的用户使用。这个想法是使 eCryptfs 像 EncFS 一样易于使用。

显然,您可以使用 设置自动挂载ecryptfs-simple -a,但此工具不适用于 Ubuntu,而且我不知道此设置是否能在重启后继续存在。

4

2 回答 2

1

听起来您想操纵键,因此 keyctl 可能是您的首选武器。除非您指的是我不熟悉的其他一些 Ubuntu 特定的密钥环。从 man keyctl 我可以使用此命令将 root/sudo/(kernel?) 密钥环中的密钥复制到我的用户密钥环中,类似的东西应该适合您:

sudo keyctl 管道 (wantedkeyid#) | keyctl 填充用户 newkeydesc @u

也许您已经阅读了 ArchWiki 关于使用 eCryptfs 的优秀文章。https://wiki.archlinux.org/index.php/System_Encryption_with_eCryptfs#Auto-mounting 它有关于使用 Ubuntu 工具或手动 eCryptfs 的信息,以及关于自动挂载(使用 PAM)的部分。或者也许一个简单的 bash 脚本ecryptfs-add-passphrase(读取你的密钥文件)和mount你的文件夹会更容易?并且 ecryptfs 本身也支持从文件中读取密码passphrase_passwd_file=,参见man ecryptfs

于 2014-03-12T18:34:09.627 回答
0

您需要将密码存储在某处,然后您可以自动挂载文件系统。但这可能是个坏主意——将密钥保存在本地。

于 2013-01-03T13:00:31.273 回答