更新后,CentOS 6上的Dovecot不起作用

我最近将CentOS更新到了6.8版(最终版)。 我不确定是否dovecot停止工作或稍后。 我没有看到securelogin正确的密码和错误的密码“失败”。 我从来没有碰过/etc/pam.d – 应该是OS默认的。 它以前工作。 我不知道为什么现在不工作。

我正在使用dovecot + sendmail。 Sendmail通过sasl-> PAM进行身份validation,工作正常。

我试过passdb的shadow ,看看有什么不对,但没有成功。

这可能是巧合,但由于某种原因,强制检查(在所有分区上使用RAID 1)

更新:在raid检查完dmesg后显示这个。

 auth[14058]: segfault at 9c ip 000000000040f8e0 sp 00007ffe99788070 error 4 in auth[400000+37000] auth[14133]: segfault at 8c ip 000000000040f8e0 sp 00007ffc7ec2ee60 error 4 in auth[400000+37000] 

dmesg之前充满了这些消息:“延迟md4的数据检查,直到md3完成”,所以我看不到segfault …

组态:

 # dovecot -n # 2.0.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-642.1.1.el6.centos.plus.x86_64 x86_64 CentOS release 6.8 (Final) auth_debug = yes auth_gssapi_hostname = $ALL auth_verbose = yes log_path = /var/log/dovecot.log mail_debug = yes mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u mbox_write_locks = fcntl passdb { args = failure_show_msg=yes dovecot driver = pam } passdb { driver = shadow } protocols = imap pop3 service auth-worker { user = root } service auth { user = root } ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_key = </etc/pki/dovecot/private/dovecot.pem userdb { driver = passwd } verbose_proctitle = yes 

dovecot日志:

 Jul 18 02:18:12 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth Jul 18 02:18:12 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libauthdb_ldap.so Jul 18 02:18:12 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so Jul 18 02:18:12 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libmech_gssapi.so Jul 18 02:18:12 auth: Debug: auth client connected (pid=24897) Jul 18 02:18:16 auth: Debug: client in: AUTH 1 PLAIN service=imap secured lip=5.9.143.206 rip=176.12.6.242 lport=143 rport=64099 Jul 18 02:18:16 auth: Debug: client out: CONT 1 Jul 18 02:18:16 auth: Debug: client in: CONT<hidden> Jul 18 02:18:16 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth Jul 18 02:18:16 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libauthdb_ldap.so Jul 18 02:18:16 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so Jul 18 02:18:16 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libmech_gssapi.so Jul 18 02:18:16 auth: Debug: pam(npelov,176.12.6.242): lookup service=dovecot Jul 18 02:18:16 auth: Debug: pam(npelov,176.12.6.242): #1/1 style=1 msg=Password: Jul 18 02:18:19 auth: Info: pam(npelov,176.12.6.242): pam_authenticate() failed: Authentication failure (password mismatch?) Jul 18 02:18:19 master: Error: service(auth): child 24898 killed with signal 11 (core dumps disabled) Jul 18 02:18:19 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth Jul 18 02:18:19 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libauthdb_ldap.so Jul 18 02:18:19 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so Jul 18 02:18:19 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libmech_gssapi.so Jul 18 02:18:19 auth: Debug: auth client connected (pid=24897) Jul 18 02:18:19 auth: Debug: client in: AUTH 2 PLAIN service=imap secured lip=5.9.143.206 rip=176.12.6.242 lport=143 rport=64099 resp=<hidden> Jul 18 02:18:19 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth Jul 18 02:18:19 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libauthdb_ldap.so Jul 18 02:18:19 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so Jul 18 02:18:19 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libmech_gssapi.so Jul 18 02:18:19 auth: Debug: pam(npelov,176.12.6.242): lookup service=dovecot Jul 18 02:18:19 auth: Debug: pam(npelov,176.12.6.242): #1/1 style=1 msg=Password: Jul 18 02:18:20 auth: Info: pam(npelov,176.12.6.242): pam_authenticate() failed: Authentication failure (password mismatch?) Jul 18 02:18:20 master: Error: service(auth): child 25050 killed with signal 11 (core dumps disabled) Jul 18 02:18:24 auth: Debug: Loading modules from directory: /usr/lib64/dovecot/auth Jul 18 02:18:24 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libauthdb_ldap.so Jul 18 02:18:24 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libdriver_sqlite.so Jul 18 02:18:24 auth: Debug: Module loaded: /usr/lib64/dovecot/auth/libmech_gssapi.so Jul 18 02:18:24 auth: Debug: auth client connected (pid=24897) 

手动testing:

 # openssl s_client -connect <host>:993 CONNECTED(00000003) .............................................. .............................................. .............................................. a1 LOGIN npelov validpassword a1 NO [UNAVAILABLE] Temporary authentication failure. * OK Waiting for authentication process to respond.. 

听起来就像你遭受了某种软磁盘故障,已经触发了磁盘的检查/重build,并且失败损坏了部分的dovecot安装。

我也会:

  • 如有可能,请检查磁盘的SMART性能/运行状况计数器,可能会发生灾难性的硬件故障
  • 使用rpm -Vavalidation其他软件包的文件; 任何大小不正确或校验和不正确的二进制文件都可能损坏

重新安装dovecot包解决了这个问题:

 # yum reinstall dovecot # service dovecot restart 

更新:智能不报告任何错误。