PDA

View Full Version : saslauthd problem: bind: Address already in use


fitti70
10th May 2007, 18:53
Hi there,

At first sorry for my bad english.

I’m despaired. Flog me, because the problem I’m posting here is to be found apparently 1000 time in this forum.
But I am now for 2 days continuously trying to fix this problem!
It’s about saslauthd. After an upgrade from Debian sarge to etch it did not run any longer.
I have searched what to do and different proposals for solution I tried, which makes sense in the first moment. But nothing helps.

I saw some similar Problems in this Forum, so I hope you can help me.

The following error message appears, if I register in /etc/default/sasl the value OPTIONS= " - m /var/run/saslauthd -c":

In the shell:

# /etc/init.d/saslauthd start
Starting SASL Authentication Daemon: saslauthdsaslauthd[10700] :detach_tty : Cannot start saslauthd
saslauthd[10700] :detach_tty : could not read from startup_pipe
failed!


In auth.log:

May 10 16:12:12 hanno saslauthd[10459]: detach_tty : could not read from startup_pipe
May 10 16:12:12 hanno saslauthd[10459]: detach_tty : Cannot start saslauthd
May 10 16:12:12 hanno saslauthd[10460]: ipc_init : bind: Address already in use
May 10 16:12:12 hanno saslauthd[10460]: ipc_init : could not bind to socket: /var/run/saslauthd/mux
May 10 16:12:12 hanno saslauthd[10460]: detach_tty : master pid is: 10839

Im Verzeichnis /var/run/saslauthd/ gibt es dann auch eine Datei saslauthd.pid, Inhalt: 10839.

ps aux sagt allerdings, dass kein entsprechender Prozess läuft:
# ps aux|grep sasl
root 10915 0.0 0.0 1776 600 pts/0 R+ 16:26 0:00 grep sasl
# ps aux|grep 10839
root 10927 0.0 0.0 1776 604 pts/0 R+ 16:26 0:00 grep 10839


In the directory /var/run/saslauthd/ is also a file saslauthd.pid, with content: 10839.

ps aux says however that no appropriate process runs:
# ps aux|grep sasl
root 10915 0,0,0,0 1776 600 pts/0 R+ 16:26 0:00 grep sasl
# ps aux|grep 10839
root 10927 0,0,0,0 1776 604 pts/0 R+ 16:26 0:00 grep 10839


I cannot explain myself, what is to be bound to the address.

If I change the path on /var/spool/postfix/var/run/saslauthd and let postfix run in chroot'ed mode, it does not solve the problem also.

Does someone have an idea, where the problem is?

Fitti, gratefully for every idea

My system: Debian etch, Postfix 2.3.8, Confixx 3.1, saslauth2-bin

My Configs: master.cf:
smtp inet n - n - - smtpd
#submission inet n - - - - smtpd
# -o smtpd_etrn_restrictions=reject
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - - 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
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
smtp unix - - - - - smtp
relay unix - - - - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
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 -d -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}

# only used by postfix-tls
#tlsmgr fifo - - n 300 1 tlsmgr
#smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
tlsmgr unix - - - 1000? 1 tlsmgr
scache unix - - - - 1 scache
discard unix - - - - - discard


main.cf


smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = *hostname editiert*
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = *hostnamen deitiert*
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = /usr/bin/procmail
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

#
# SMTP Auth
#
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

disable_vrfy_command = yes
smtpd_etrn_restrictions = reject
smtpd_recipient_restrictions = permit_mynetworks, permit_mx_backup, permit_sasl_authenticated, reject_unauth_destination


### CONFIXX POSTFIX ENTRY ###

virtual_maps = hash:/etc/postfix/confixx_virtualUsers, hash:/etc/postfix/confixx_localDomains

### /CONFIXX POSTFIX ENTRY ###
smtpd_client_restrictions = permit_mynetworks, reject_rbl_client relays.ordb.org, reject_rbl_client bl.spamcop.net, permit
qmgr_message_recipient_limit = 2000
message_size_limit = 20480000



/etc/default/saslauthd:


START=yes

# Which authentication mechanisms should saslauthd use? (default: pam)
#
# Available options in this Debian package:
# getpwent -- use the getpwent() library function
# kerberos5 -- use Kerberos 5
# pam -- use PAM
# rimap -- use a remote IMAP server
# shadow -- use the local shadow password file
# sasldb -- use the local sasldb database file
# ldap -- use LDAP (configuration is in /etc/saslauthd.conf)
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS="pam"
MECHANISMS="pam"

# Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options.
MECH_OPTIONS=""

# How many saslauthd processes should we run? (default: 5)
# A value of 0 will fork a new process for each connection.
THREADS=5

# Other options (default: -c)
# See the saslauthd man page for information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
# Note: See /usr/share/doc/sasl2-bin/README.Debian
OPTIONS="-m /var/run/saslauthd -c"

/etc/postfix/sasl/smtpd.conf:
pwcheck_method: saslauthd
mech_list: plain login
saslauthd_path: /var/run/saslauthd
autotransition:true

falko
11th May 2007, 13:43
/etc/default/saslauthd must look like this:

#
# Settings for saslauthd daemon
#

# Should saslauthd run automatically on startup? (default: no)
START=yes

# Which authentication mechanisms should saslauthd use? (default: pam)
#
# Available options in this Debian package:
# getpwent -- use the getpwent() library function
# kerberos5 -- use Kerberos 5
# pam -- use PAM
# rimap -- use a remote IMAP server
# shadow -- use the local shadow password file
# sasldb -- use the local sasldb database file
# ldap -- use LDAP (configuration is in /etc/saslauthd.conf)
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS="pam"
MECHANISMS="pam"

# Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options.
MECH_OPTIONS=""

# How many saslauthd processes should we run? (default: 5)
# A value of 0 will fork a new process for each connection.
THREADS=5

# Other options (default: -c)
# See the saslauthd man page for information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
# Note: See /usr/share/doc/sasl2-bin/README.Debian
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Also take a look at http://www.howtoforge.com/perfect_setup_debian_etch_p5

fitti70
11th May 2007, 15:19
Thank you, Falko.

I changed the values in /etc/postfix/sasl/smtpd.conf to:
saslauthd_path: /var/spool/postfix/var/run/saslauthd/mux

and in /etc/default/saslauthd
OPTIONS=="-c -m /var/spool/postfix/var/run/saslauthd/mux -r"

(Because there ist really a directory named "mux", which contains
ls -la /var/spool/postfix/var/run/saslauthd/mux
total 940
drwxrwxrw- 2 root sasl 4096 2007-05-11 14:03 .
drwxr-xr-x 3 root postfix 4096 2007-05-11 13:55 ..
-rw------- 1 root root 0 2007-05-11 12:48 cache.flock
-rw------- 1 root root 945152 2007-05-11 12:48 cache.mmap
srwxrwxrwx 1 root root 0 2007-05-11 14:03 mux
-rw------- 1 root root 0 2007-05-11 14:03 mux.accept
-rw------- 1 root root 6 2007-05-11 14:03 saslauthd.pid
)

After doing this, sasl starts fine but i get the message in mail.log:

warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directo
ry

Is there something wrong with the rights of "sals"?

Thank You for helping me.

fitti

falko
12th May 2007, 19:10
It must be

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

(with just one = sign!).

fitti70
14th May 2007, 22:51
This was one of two fatal errors.
The second one was this line in the smtpd.conf:
saslauthd_path: /var/run/saslauthd

I deleted this line, because Postfix is running in chroot. Now it works fine.

thank you,

fitti