saslauthd problem: bind: Address already in use

Discussion in 'Server Operation' started by fitti70, May 10, 2007.

  1. fitti70

    fitti70 New Member

    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:
    Code:
     # /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:
    Code:
    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:
    Code:
    # 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:
    Code:
     
    # 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:
    Code:
    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
    Code:
    
    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:
    /etc/postfix/sasl/smtpd.conf:
    Code:
    pwcheck_method: saslauthd
    mech_list: plain login
    saslauthd_path: /var/run/saslauthd
    autotransition:true
     
  2. falko

    falko Super Moderator

    /etc/default/saslauthd must look like this:

    Code:
    #
    # 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
     
  3. fitti70

    fitti70 New Member

    Thank you, Falko.

    I changed the values in /etc/postfix/sasl/smtpd.conf to:
    and in /etc/default/saslauthd
    (Because there ist really a directory named "mux", which contains
    Code:
    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:

    Code:
    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
     
    Last edited: May 11, 2007
  4. falko

    falko Super Moderator

    It must be

    Code:
    OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
    (with just one = sign!).
     
  5. fitti70

    fitti70 New Member

    This was one of two fatal errors.
    The second one was this line in the smtpd.conf:
    I deleted this line, because Postfix is running in chroot. Now it works fine.

    thank you,

    fitti
     

Share This Page