Error: Postfix/Dovecot - warning: SASL: Connect to private/auth failed: No such file or directory

You have the following error messages in your mail log:

Aug 23 15:55:01 server1 postfix/smtpd[15194]: warning: SASL: Connect to private/auth failed: No such file or directory
Aug 23 15:55:01 server1 postfix/smtpd[15194]: fatal: no SASL authentication mechanisms
Aug 23 15:55:02 server1 postfix/master[3979]: warning: process /usr/libexec/postfix/smtpd pid 15194 exit status 1
Aug 23 15:55:02 server1 postfix/master[3979]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

 

Solution

Open your dovecot.conf (/etc/dovecot.conf or /etc/dovecot/dovecot.conf, depending on your distribution) and make sure you have the following lines in it:

[...]
client {
       path = /var/spool/postfix/private/auth
       mode = 0660
       user = postfix
       group = postfix
}
[...]

Restart Dovecot.

Then check if /var/spool/postfix/private/auth got created:

ls -l /var/spool/postfix/private/auth

Also make sure you have

[...]
queue_directory = /var/spool/postfix
[...]

in /etc/postfix/main.cf. If not, add it and restart Postfix.

Share this page:

10 Comment(s)

Add comment

Comments

From: Konrad at: 2012-09-11 12:12:09

dovecot[9075]: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 101: Unknown setting: client

 Dosen't work. It should be in 10-master.conf this line. But I don't know why it dosen't work after all 

From: Jeff Green at: 2012-11-22 09:25:16

Yea, good ole Dovecot like messing things around to screw people up. Really kills productivity when the do this, and with millions of bytes of advice all refering to old versions you'll never find the answer on Google

The guy who thought it would be blast to change this needs stabbing in the eyes with a pencil!

From: easyorange at: 2013-01-20 14:54:55

I had exactly the same problem and the instructions on this page did not help at all. In fact, the instructions on postfix site did not help either.

On our system, here's what helped -

 chown postfix:postfix /var/spool/postfix/private/auth

 chmod 666 /var/spool/postfix/private/auth

 And, in /etc/dovecot/conf.d/10-master.conf (or /usr/local/etc/dovecot/conf.d/10-master.conf) set the config like this -

  unix_listener auth-userdb {

    mode = 0666

    user = postfix

    group = postfix

  }


  # Postfix smtp-auth

  unix_listener /var/spool/postfix/private/auth {

    mode = 0666

  }  

 Lastly, 

/etc/init.d/dovecot restart

 

From: David Shockey at: 2013-09-08 04:29:28

The solution posted by easyorange worked for me on Dovecot version 2.0.21 running with Postfix version 2.10.0

From: Alvaro at: 2014-02-02 20:30:22

Thanks, easyorange.

From: Matt at: 2014-07-27 04:45:45

The solution posted by easyorange worked for me with Dovecot v2.2.9. Thank you!

From: Bob Campbell at: 2014-08-15 05:33:20

EasyOrange! This really works.. 2 days trying to figure out why SASL wouldn't authenticate when I could get IMAP working perfectly. I think it was adding this back in that did the trick: unix_listener auth-userdb { mode = 0666 user = postfix group = postfix } I had commented it out thinking "user_listener" was all I needed... BOTH protocols IMAP and SMTP are rocking and authenticating on STARTTLS now... Thanks so much! Bob Campbell PS.. for those out there thinking Cyrus/saslauthd and Postfix are a perfect match are nuts! Postfix is a killer program, but Dovecot really comes on strong in the IMAP department.

From: Henry Motu at: 2012-12-10 20:42:57

Thanks, that helps a lot

My server  - Debian Squeeze (Debian 6.0) With BIND, Dovecot & Nginx

The following line was absent in my Postfix configuration file:

queue_directory = /var/spool/postfix

From: benjaminbih at: 2013-06-16 16:36:51

Take a look in /etc/dovecot/conf.d/10-masert.conf for:


service auth {

  # auth_socket_path points to this userdb socket by default. It's typically
  # used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
  # full permissions to this socket are able to get a list of all usernames and
  # get the results of everyone's userdb lookups.
  #
  # The default 0666 mode allows anyone to connect to the socket, but the
  # userdb lookups will succeed only if the userdb returns an "uid" field that
  # matches the caller process's UID. Also if caller's uid or gid matches the
  # socket's uid or gid the lookup succeeds. Anything else causes a failure.
  #
  # To give the caller full permissions to lookup all users, set the mode to
  # something else than 0666 and Dovecot lets the kernel enforce the
  # permissions (e.g. 0777 allows everyone full permissions).
  unix_listener auth-userdb {
    #mode = 0666
    #user =
    #group =
  }

  # Postfix smtp-auth
  #unix_listener /var/spool/postfix/private/auth {
    #mode = 0666
  #}

  # Auth process is run as this user.
  #user = $default_internal_user
}

 


And change it to fit your needs

From: mzmpm at: 2015-01-30 20:02:49

None of this worked for me.  Not what easyorange wrote, or the original poster.  I will also post this as a new Post.  One thing I noticed is that if I use the chmod and chown as specified by easyorange, and then restart dovecot, it reverts back to original uid/gid and permissions (root:root).  This makes me think perhaps the  /etc/dovecot/conf.d/10-master.conf should specify root as the user and group, not postfix.

System: Centos 6.5 (OS: Linux 2.6.32-431.29.2.el6.x86_64 x86_64 CentOS release 6.5 (Final) ), Postfix 2.6.6, Dovcot 2.0.9

 

Problem:  smtpd error according to maillog.  Server won’t allow remote authenticated relay mailing for users with accounts.  POP3 is working.

 

1.      Maillog

tail /var/log/maillog

Jan 30 13:27:21 mzmmail postfix/smtpd[17116]: warning: 206.190.84.232: address not listed for hostname 206.190.84.232.cybertimebroadband.com

Jan 30 13:27:21 mzmmail postfix/smtpd[17116]: connect from unknown[206.190.84.232]

Jan 30 13:27:21 mzmmail postfix/smtpd[17116]: warning: SASL: Connect to smtpd failed: No such file or directory

Jan 30 13:27:21 mzmmail postfix/smtpd[17116]: fatal: no SASL authentication mechanisms

 

2.   postconf –n (mail.cf file)

alias_database = hash:/etc/aliases

alias_maps = hash:/etc/aliases

broken_sasl_auth_clients = yes

command_directory = /usr/sbin

config_directory = /etc/postfix

daemon_directory = /usr/libexec/postfix

data_directory = /var/lib/postfix

debug_peer_level = 2

home_mailbox = Maildir/

html_directory = no

inet_interfaces = all

inet_protocols = all

mail_owner = postfix

mailq_path = /usr/bin/mailq.postfix

manpage_directory = /usr/share/man

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, $domain

mydomain = myzipmail.com

myhostname = mzmmail.myzipmail.com

mynetworks = 23.246.249.179, 10.91.117.239, 10.54.102.169, 127.0.0.0/8

myorigin = $mydomain

newaliases_path = /usr/bin/newaliases.postfix

queue_directory = /var/spool/postfix

readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES

sample_directory = /usr/share/doc/postfix-2.6.6/samples

sendmail_path = /usr/sbin/sendmail.postfix

setgid_group = postdrop

smtp_sasl_path = private/auth

smtpd_recipient_restrictions = permit_sasl_authenticated,    permit_mynetworks,    check_relay_domains

smtpd_sasl_auth_enable = yes

smtpd_sasl_type = dovecot

unknown_local_recipient_reject_code = 550

 

2.      dovecot –n

 

# 2.0.9: /etc/dovecot/dovecot.conf

# OS: Linux 2.6.32-431.29.2.el6.x86_64 x86_64 CentOS release 6.5 (Final)

auth_mechanisms = plain login

disable_plaintext_auth = no

mail_location = maildir:~/Maildir

mbox_write_locks = fcntl

passdb {

  driver = pam

}

service auth-worker {

  user = root

}

service auth {

  unix_listener /var/spool/postfix/private/auth {

    mode = 0666

  }

  unix_listener auth-userdb {

    group = postfix

    mode = 0666

    user = postfix

  }

}

service imap-login {

  inet_listener imap {

    port = 143

  }

  inet_listener imaps {

    port = 993

    ssl = yes

  }

  service_count = 1

}

service pop3-login {

  inet_listener pop3 {

    port = 110

  }

  inet_listener pop3s {

    port = 995

    ssl = yes

  }

}

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem

ssl_key = </etc/pki/dovecot/private/dovecot.pem

userdb {

  driver = passwd

 

}