我使用一个提供门票的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下面:
在我的尝试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访问的正确方法?