Dovecot / Postfix / SASL: Falha na conexão / var / run / dovecot / auth-client: permissão negada

2

A configuração do Dovecot / Postfix não está funcionando corretamente no meu servidor: depois de várias verificações, eu entendo que

  1. Os serviços do imap são operacionais usando clientes locais ou de desktop
  2. O postfix está ouvindo e novos e-mails são gravados na fila do postfix
  3. A transferência da fila do postfix para as pastas do vmail não está funcionando, enquanto o log do postfix menciona esse erro do recrutador "SASL: Conectar a / var / run / dovecot / auth-client falhou: Permissão negada".

Aqui está minha configuração dovecot.

# 2.2.15: /etc/dovecot/dovecot.conf
# OS: Linux 3.10.9-xxxx-grs-ipv6-64 x86_64 Gentoo Base System release 2.2 ext4
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
auth_verbose_passwords = yes
base_dir = /var/run/dovecot/
debug_log_path = /var/log/dovecot-debug.log
first_valid_gid = 12
first_valid_uid = 150
info_log_path = /var/log/dovecot-info.log
last_valid_gid = 12
last_valid_uid = 150
log_path = /var/log/dovecot.log
mail_debug = yes
mail_gid = mail
mail_location = maildir:/home/vmail/%u
mail_uid = vmail
namespace inbox {
  inbox = yes
  location = maildir:/home/vmail/%u
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = INBOX.
  separator = .
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocols = imap pop3
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = mail
    mode = 0600
    user = vmail
  }
}
service lmtp {
  unix_listener lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
ssl_cert = </etc/ssl/postfix/server.pem
ssl_key = </etc/ssl/postfix/server.key
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
verbose_ssl = yes

Aqui está a configuração do meu postfix.

alias_database = texthash:/etc/mail/aliases
alias_maps = texthash:/etc/mail/aliases
command_directory = /usr/sbin
compatibility_level = 2
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 1
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; echo where) | gdb $daemon_directory/$process_name $process_id 2>&1 >$config_directory/$process_name.$process_id.log & sleep 5
default_destination_concurrency_limit = 20
dovecot_destination_recipient_limit = 1
home_mailbox = .maildir/
html_directory = /usr/share/doc/postfix-2.9.0/html
inet_interfaces = all
local_destination_concurrency_limit = 2
local_recipient_maps = $virtual_mailbox_maps
mail_owner = postfix
mail_spool_directory = /var/mail
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
meta_directory = /etc/postfix
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost, 127.0.0.1
myhostname = ns3322776.ovh.net
mynetworks_style = host
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.9.0/readme
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
shlib_directory = /usr/lib64/postfix/${mail_version}
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,permit_inet_interfaces
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = /var/run/dovecot/auth-client
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_CAfile = /etc/ssl/postfix/server.pem
smtpd_tls_cert_file = /etc/ssl/postfix/server.crt
smtpd_tls_key_file = /etc/ssl/postfix/server.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
soft_bounce = yes
unknown_local_recipient_reject_code = 550
virtual_gid_maps = static:150
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_minimum_uid = 150
virtual_transport = lmtp:unix:dovecot-lmtp
virtual_uid_maps = static:0

Aqui está o log

2015-02-26 11:25:22 - postfix/master - warning: process /usr/libexec/postfix/smtpd pid 22687 exit status 1
2015-02-26 11:25:22 - postfix/master - warning: process /usr/libexec/postfix/smtpd pid 22686 exit status 1
2015-02-26 11:25:22 - postfix/master - warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling
2015-02-26 11:25:22 - postfix/master - warning: process /usr/libexec/postfix/smtpd pid 22685 exit status 1
2015-02-26 11:25:21 - postfix/smtpd - fatal: no SASL authentication mechanisms
2015-02-26 11:25:21 - postfix/smtpd - warning: SASL: Connect to /var/run/dovecot/auth-client failed: Permission denied
2015-02-26 11:25:21 - postfix/smtpd - connect from 39160.vs.webtropia.com[62.141.39.160]

Se alguém tiver alguma dica ou qualquer coisa, por favor, deixe-me saber que será uma grande ajuda! Obrigado

    
por TheArtist 25.02.2015 / 09:09

1 resposta

2

Você define este parâmetro em main.cf

smtpd_sasl_path = /var/run/dovecot/auth-client

Isto diz ao postfix onde caminho o socket unix para conexão SASL.

No entanto, na configuração dovecot, você define que o soquete SASL estava em / var / spool / postfix / private / auth

service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  ...
}

Tente definir smtpd_sasl_path = private/auth e reinicie o postfix.

    
por 28.02.2015 / 11:28