Postfix/Dovecot 不使用 pam_mkhomedir

Postfix/Dovecot 不使用 pam_mkhomedir

我在外部数据库中有用户。到目前为止 - ssh、postfix、dovecot 和其他一些 - 使用条目没有问题。
我有邮件目录里面/home/[用户]如果主目录存在 - 一切正常 - 发送、接收。
如果主目录不存在Postfix/Dovecot打印错误,ssh-登录后导致创建了全新的主目录-它使用pam_mkhomedir 文件/etc/pam.d/[在几个文件中] 中的条目。

Postfix/Dovecot- 成功使用帕姆使用数据库后端,但忽略带有pam_mkhomedir- 我读了很多关于将其放在哪个文件以及什么位置的提示。
也许是将文件命名为 /etc/pam.d/[file] 的问题?

答案1

Postfix 不负责创建主目录。使用内置local投递代理时,Postfix 假定主目录已经存在。

如果您使用 Dovecot 作为 LDA,那么 Dovecot 也依赖于主目录存在的事实。

使用虚拟用户,您可以设置变量lda_mailbox_autocreate = yes,以便 Dovecot 自动创建必要的目录。


由于 Dovecot(和 Postfix)不会“登录”用户来发送邮件,因此pam_mkhomedir永远不会触发。在这种情况下,PAM 仅用于身份验证。

答案2

只是为了帮助那些像我一样在谷歌上搜索 Dovecot 问题时偶然发现这个问题的人:pam_mkhomedir如果你这样设置,Dovecot 就可以使用了。文档位于http://wiki2.dovecot.org/PasswordDatabase/PAM#PAM_sessions

在典型的 Debian/Ubuntu 系统上,您可以将其放入/etc/pam.d/dovecot

#%PAM-1.0

@include common-auth
@include common-account
@include common-session

(该mkhomedir模块在内部调用common-session

然后/etc/dovecot/conf.d/auth-system.conf.ext在该部分中编辑以下内容:

passdb {
  driver = pam
  # [session=yes] ...
  #args = dovecot
}

让他们args说:

  args = session=yes dovecot

相关内容