当我通过IMAP检查我的邮件时,我的webmail访问(代理CAS)失败

我使用一个提供门票的web sso门户。 我“cassify”我的webmail和我的imap服务器(cyrus-imapd)。

当我从Webmail(代理CAS)获取我的电子邮件时,没关系。 除了如果我用传统的IMAP客户端获取我的电子邮件,并尝试从Webmail再次获取,我有不好的身份validation。

这似乎是一个已知的问题。 事实上(如果我理解的话),saslcaching在开始时会得到一个类似于密码的PT(来自webmail),并且在密码之后(来自传统的IMAP客户端)。 我找不到改正它的好方法。 这就是为什么我在这里发表我的问题。 我尝试使用pam_ccreds,但我仍然有很多身份validation错误到mail.log中。

所以我尝试使用saslauthd和2个imap服务的两个实例。 在操作系统和软件configuration下面:

  • 操作系统:Debian 8
  • sasl2-bin:2.1.26.dfsg1-13
  • cyrus-imapd:2.4.17 + caldav〜beta10-18

在我的尝试configuration下面:

  • 在/ etc /默认/ saslauthd

    START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="pam" THREADS=5 OPTIONS="-c -m /var/run/saslauthd/mux -r -n 0" 
  • 在/ etc /默认/ saslauthd的Web

      START=yes DESC="SASL Authentication Daemon" NAME="saslauthd" MECHANISMS="pam" THREADS=5 OPTIONS="-c -m /var/run/saslauthd/muxweb -r -n 0" 
  • /etc/pam.d/imapweb

     auth sufficient /lib/x86_64-linux-gnu/security/pam_cas.so -simap://mail.example.com -f/etc/pam_cas.conf auth sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf auth sufficient /lib/x86_64-linux-gnu/security/pam_unix.so account sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf 
  • /etc/pam.d/imap

     auth sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf auth sufficient /lib/x86_64-linux-gnu/security/pam_unix.so account sufficient /lib/x86_64-linux-gnu/security/pam_ldap.so config=/etc/pam_ldap_imap.conf 
  • /etc/cyrus.conf

     imap cmd="imapd -U 30" listen="XXXX:imap" prefork=0 maxchild=100 imapweb cmd="imapd -U 30 -C /etc/imapdweb.conf" listen="XXXX:IMAPWEBPORT" prefork=0 maxchild=100 
  • /etc/imapd.conf

     ... sasl_pwcheck_method: auxprop saslauthd imap_sasl_saslauthd_path: /var/run/saslauthd/mux imapweb_sasl_saslauthd_path: /var/run/saslauthd/muxweb sasl_auxprop_plugin: sasldb ... 

我重新启动saslauthd和cyrus-imapd服务。

当我使用每个saslauthd套接字运行testsaslauthd命令时,它运行得非常好:

 testsaslauthd -u USER -p PASSWORD -f /var/run/saslauthd/mux/mux -s imap 0: OK "Success." testsaslauthd -u USER -p PASSWORD -f /var/run/saslauthd/muxweb/mux -s imapweb 0: OK "Success." 

但是当我从我的webmail主机在我的imap服务器上的imap端口上运行telnet时,validation失败。 在imapweb端口上是一样的。 但是,在imap日志中,我看到堆栈跟踪显示我使用了良好的imap服务(imap用于imap port和imapweb用于“IMAPPORTWEB”)

你有一个想法,这解释了为什么我的身份validation不起作用? 是否接受CAS和经典IMAP访问的正确方法?