saslauthd getting permission denied error after file ownership change

Hello,

A while ago, by accident, I performed a wrong chown on my system. I managed to mend everything, except for the ability to send email messages over SMTP.

This is the error I see in /var/log/mail.log :

Dec 11 22:53:32 xx postfix/smtpd[22789]: warning: SASL authentication failure: cannot connect to saslauthd server: Permission denied
Dec 11 22:53:32 xx postfix/smtpd[22789]: warning: unknown[xx.xx.xx.xx]: SASL LOGIN authentication failed: generic failure
Dec 11 22:53:32 xx postfix/smtpd[22789]: lost connection after AUTH from unknown[xx.xx.xx.xx]
Dec 11 22:53:32 xx postfix/smtpd[22789]: disconnect from unknown[xx.xx.xx.xx]

I tried running:
usermod -a -G sasl postfix

and also:
adduser postfix sasl

I tried playing with the permissions of /var/spool/postfix/var/run/saslauthd/ but it keeps reverting itself after saslauthd restart.

I run this command:
chmod 755 /var/spool/postfix/var/run/saslauthd/

This is before restarting saslauthd:

drwxr-xr-x 2 postfix sasl 4096 דצמ 11 22:52 .
drwxr-xr-x 3 root root 4096 אוג 17 2014 …
-rw------- 1 root root 0 דצמ 11 22:52 cache.flock
-rw------- 1 root root 986112 דצמ 11 22:52 cache.mmap
srwxrwxrwx 1 root root 0 דצמ 11 22:52 mux
-rw------- 1 root root 0 דצמ 11 22:52 mux.accept
-rw------- 1 root root 6 דצמ 11 22:52 saslauthd.pid

This is after restarting:

drwxr-x–x 2 postfix sasl 4096 דצמ 11 23:06 .
drwxr-xr-x 3 root root 4096 אוג 17 2014 …
-rw------- 1 root root 0 דצמ 11 23:06 cache.flock
-rw------- 1 root root 986112 דצמ 11 23:06 cache.mmap
srwxrwxrwx 1 root root 0 דצמ 11 23:06 mux
-rw------- 1 root root 0 דצמ 11 23:06 mux.accept
-rw------- 1 root root 6 דצמ 11 23:06 saslauthd.pid

Uncommented lines from /etc/default/saslauthd :
START=yes
DESC=“SASL Authentication Daemon”
NAME=“saslauthd”
MECHANISMS=“pam”
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

And the contents of /etc/postfix/sasl/smtpd.conf :
pwcheck_method: saslauthd
mech_list: plain login

And the contents of /etc/postfix/master.cf :

Postfix master process configuration file. For details on the format

of the file, see the master(5) manual page (command: “man 5 master”).

Do not forget to execute “postfix reload” after editing this file.

==========================================================================

service type private unpriv chroot wakeup maxproc command + args

(yes) (yes) (yes) (never) (100)

==========================================================================

smtp inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes
#smtp inet n - - - 1 postscreen
#smtpd pass - - - - - smtpd
#dnsblog unix - - - - 0 dnsblog
#tlsproxy unix - - - - 0 tlsproxy
#submission inet n - - - - smtpd

-o syslog_name=postfix/submission

-o smtpd_tls_security_level=encrypt

-o smtpd_sasl_auth_enable=yes

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

#smtps inet n - - - - smtpd

-o syslog_name=postfix/smtps

-o smtpd_tls_wrappermode=yes

-o smtpd_sasl_auth_enable=yes

-o smtpd_client_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp

-o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache

====================================================================

Interfaces to non-Postfix software. Be sure to examine the manual

pages of the non-Postfix software to find out what options it wants.

Many of the following services use the Postfix pipe(8) delivery

agent. See the pipe(8) man page for information about ${recipient}

and other message envelope options.

====================================================================

maildrop. See the Postfix MAILDROP_README file for details.

Also specify in main.cf: maildrop_destination_recipient_limit=1

maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}

====================================================================

Recent Cyrus versions can use the existing “lmtp” master.cf entry.

Specify in cyrus.conf:

lmtp cmd=“lmtpd -a” listen=“localhost:lmtp” proto=tcp4

Specify in main.cf one or more of the following:

mailbox_transport = lmtp:inet:localhost

virtual_transport = lmtp:inet:localhost

====================================================================

Cyrus 2.1.5 (Amos Gouaux)

Also specify in main.cf: cyrus_destination_recipient_limit=1

#cyrus unix - n n - - pipe

user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}

====================================================================

Old example of delivery via Cyrus.

#old-cyrus unix - n n - - pipe

flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}

====================================================================

See the Postfix UUCP_README file for configuration details.

uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)

Other external delivery methods.

ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
submission inet n - - - - smtpd -o smtpd_sasl_auth_enable=yes

I am probably missing something HUGE here, but I can’t figure it out.

The server is Debian, and the client is Thunderbird.

Any clue?

Dotan

I’m having the exact same problem. Was there ever a solution for this?