与Dovecot使用ecryptfsencryption的主目录

我已经在Ubuntu 10.04机器上设置了主目录encryption,但ecryptfs似乎无法与Dovecot (或CourierIMAP等)一起使用。

IMAPlogin成功后,主目录永远不会挂载,Dovecot显然找不到邮件目录。

我不知道我是如何触发坐骑,所以我需要一些帮助。

Dovecot正在使用PAM,所以我希望在成功login主目录后将被挂载,但这是我所有的日志和目录没有挂载:

 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 

如果我创build一个SSH会话,然后执行IMAPlogin,它工作(显然),但我得到这个:

 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 ,但没有真正改变,除了事实我没有得到错误消息(“错误尝试添加文件名encryption密钥到用户会话密钥环…”)。

在Ubuntu社区Dovecot页面( https://help.ubuntu.com/community/Dovecot )上有一段说:

注:鸽子不会在encryption的目录/文件夹中工作。 Dovecot只会抱怨权限,不会工作。 一个答案是创build一个具有未encryption主目录的第二个用户帐户。 我们还没有在一个单独的主分区上testing这个解决scheme,但最可能的结果是一样的。

但是,我不确定这是否是明确的答案(我不明白他们有第二个用户帐户是什么意思)。

如果有人能告诉我是否可以使用Dovecot来使用Dovecot (用户主目录内的邮件目录),我将不胜感激。

我在Launchpad的ecryptfs问题页面上看到了这个问题(并从中借用了一些措辞:)(但是没有回答),所以好像我不是唯一的问题。

谢谢。

问题是,pam_ecryptfs捕获并使用您的login密码来解密~/.ecryptfs/wrapped-passphrase ,并执行您的主目录安装。

不幸的是,您描述的非交互式dovecot pam会话实际上并没有阻止您的login密码,因此无法执行挂载。 抱歉。

我从来没有自己设置过。 您的错误似乎表明,Dovecot打开PAM会话,然后立即closures它。 你可以从你的Dovecotconfiguration文件以及/etc/pam.d/dovecot发布相关的段落吗?

我也尝试使用SSHD的PAM文件的Dovecot,但没有真正改变,除了事实我没有得到错误消息(“错误尝试添加文件名encryption密钥到用户会话密钥环…”)。

在这种情况下你会得到一个错误消息吗? Dovecotconfiguration中启用了PAMdebugging吗? 如果没有,请使用以下内容:

 passdb pam { args = failure_show_msg=yes } 

这里是我将检查的几个元素:

  1. 你是否将session=yes传递给PAM? 你不应该在这种情况下。
  2. Dovecot中禁用查找caching?
  3. 如果您使用Dovecot <1.1,请确保您使用的是非分叉查找