我已经在 Ubuntu 10.04 机器上设置了主目录加密,但ecryptfs
似乎无法使用Dovecot
(或CourierIMAP
等)。
IMAP 登录成功后,主目录从未被挂载,并且 Dovecot 显然无法找到邮件目录。
我不确定我理解如何触发坐骑,所以我需要一些帮助。
Dovecot
正在使用 PAM,因此我希望成功登录后主目录将被挂载,但是我在日志中得到的全部内容均为如此,并且目录未挂载:
Jan 16 02:12:37 ubuntu dovecot-auth: pam_sm_authenticate: Called
Jan 16 02:12:37 ubuntu dovecot-auth: pam_sm_authenticate: username = [username]
Jan 16 02:12:37 ubuntu dovecot-auth: Passphrase file wrapped
Jan 16 02:12:38 ubuntu dovecot-auth: Error attempting to add filename encryption key to user session keyring; rc = [1]
Jan 16 02:12:38 ubuntu dovecot: imap-login: Login: user=<username>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
如果我创建一个 SSH 会话,然后执行 IMAP 登录,它会起作用(显然),但我得到了这个:
Jan 16 02:30:25 ubuntu dovecot-auth: pam_sm_authenticate: Called
Jan 16 02:30:25 ubuntu dovecot-auth: pam_sm_authenticate: username = [username]
Jan 16 02:30:25 ubuntu dovecot-auth: pam_sm_authenticate: /home/username is already mounted
因此,它确实看起来Dovecot
(嗯,我猜是 PAM 模块)正在尝试挂载主目录,但它要么立即挂载并卸载它,要么发生其他事情 - 而我无法弄清楚那部分。
我也尝试过使用 SSHD 的 PAM 文件Dovecot
,但什么也改变不了,除了没有收到错误消息(“尝试将文件名加密密钥添加到用户会话密钥环时出错...”)。
在 Ubuntu 社区 Dovecot 页面 (https://help.ubuntu.com/community/Dovecot)里面有一段话是这么说的:
注意:Dovecot 无法在加密目录/文件夹中工作。Dovecot 只会抱怨权限问题,无法工作。一个解决方案是创建一个具有未加密主目录的第二个用户帐户。我们尚未在单独的主分区上测试此解决方案,但结果很可能相同。
但是,我不确定这是否是明确的答案(并且我不明白他们拥有第二个用户帐户是什么意思)。
如果有人能告诉我是否可以使用Dovecot
(包含用户主目录中的邮件目录)我将不胜感激ecryptfs
。
我在 Launchpad 的问题页面上看到了这个问题(并借用了其中的一些措辞:) ecryptfs
(但没有答案),所以似乎我不是唯一一个遇到这个问题的人。
谢谢。
答案1
问题是 pam_ecryptfs 捕获并使用您的登录密码进行解密~/.ecryptfs/wrapped-passphrase
,并执行您的主目录挂载。
不幸的是,您描述的非交互式 dovecot pam 会话实际上从未获取您的登录密码,因此它无法执行挂载。抱歉。
答案2
我从来没有自己设置过。您的错误似乎表明 Dovecot 打开了一个 PAM 会话然后立即关闭它。您能否发布 Dovecot 配置中的相关段落以及/etc/pam.d/dovecot
?
我也尝试过对 Dovecot 使用 SSHD 的 PAM 文件,但并没有什么改变,除了没有收到错误消息(“尝试将文件名加密密钥添加到用户会话密钥环时出错...”)。
在这种情况下,您是否收到错误消息?您的 Dovecot 配置中是否启用了 PAM 调试?如果没有,请使用以下命令:
passdb pam {
args = failure_show_msg=yes
}
以下是我要检查的一些元素:
- 您要传递
session=yes
给 PAM 吗?在这种情况下您不应该传递。 - Dovecot 中查找缓存是否被禁用?
- 如果你使用的是 Dovecot < 1.1,请确保你使用的是非分叉查找