如何从dovecot成功的imapauthentication后授予kerberos票证

一个有趣的问题,我希望。

我正在debian 6下运行一组虚拟机,来构build一个邮件/协作服务器。 我主要使用dovecot,postfix,openldap和heimdal。 邮件使用maildir存储在NFSv4共享上。

我的用户是系统用户,但使用LDAP和libpam-ldap以及libnss-ldap来caching凭证信息。

一切都如预期般运作,好吧, 差不多

由于NFS使用kerberos,所以默认情况下,如果用户没有收到他们的kerberos票据,他们将无法访问他们的邮件存储。

例如,如果我什么都不做,这是我尝试使用任何imap客户端logindovecot时发生的错误:

Mar 31 09:33:07 titan dovecot:imap-login:login:user =,method = PLAIN,rip = 127.0.0.1,lip = 127.0.0.1,安全
3月31日09:33:07 titan dovecot:dovecot:致命:chdir(/ home / emails / team / arodier /)失败:权限被拒绝(euid = 1003(arodier)egid = 1001(red2team)失踪+ x perm:/ home /电子邮件)
Mar 31 09:33:07 titan dovecot:dovecot:孩子5089(imap)返回错误89(致命故障)

但是,如果我只是在用户“ arodier ”的控制台上login,我看到我已经收到一张票,我可以看到它与klist:

凭证caching:FILE:/ tmp / krb5cc_1001_ywvktf
校长:[email protected]

颁发到期的校长
Mar 31 09:25:55 Mar 31 19:25:53 krbtgt / [email protected]
Mar 31 09:25:57 Mar 31 19:25:53 nfs / [email protected]

一旦我简单地在控制台上login自己,我就可以使用任何IMAP客户端访问我的电子邮件。

问题是:
validation成功后,我应该如何configurationlibpam(或dovecot?)来初始化/接收Kerberos票据?

感谢您的回答。

由于您使用的是密码authentication,您应该能够使用pam-krb5 (在Debian中打包为libpam-krb5 )代表您的用户获得Kerberos TGT。 您将需要configurationpam,以便服务dovecot使用(可能是/etc/pam.d/dovecot )或/etc/pam.d/common-*文件(请参阅/usr/share/doc/libpam-krb5/README.Debian的细节。

但是,由于您提到如果从控制台login服务器,您已经为您设置了TGT,可能是因为已经安装并正在使用libpam-krb5 。 如果是这样,这可能只是一个检查Dovecotconfiguration的问题,以确保它正确地使用PAM(特别是会话configuration,我相信这将是负责设置TGT的部分)。 我正在看的评论dovecot.conf文件说:

 # session=yes makes Dovecot open and immediately close PAM session. Some # PAM plugins need this to work, such as pam_mkhomedir. 

所以看起来可能不会默认启用。