Назад | Перейти на главную страницу

Сервер веб-почты CentOS 6.5: предупреждение: SASL: сбой подключения к частному / аутентификационному: нет такого файла или каталога

Я пытаюсь запустить сервер веб-почты на CentOS с Postfix, Docecot и Roundcube. Всякий раз, когда я пытаюсь отправить письмо или отправить тестовое письмо на свой сервер, он терпит неудачу. Я могу войти в систему, похоже, с Dovecot все в порядке.

Вот журнал моего сервера:

Jul  2 14:01:42 phantastyc postfix/smtpd[20154]: warning: SASL: Connect to private/auth failed: No such file or directory
Jul  2 14:01:42 phantastyc postfix/smtpd[20154]: fatal: no SASL authentication mechanisms
Jul  2 14:01:43 phantastyc postfix/master[18459]: warning: process /usr/libexec/postfix/smtpd pid 20154 exit status 1
Jul  2 14:01:43 phantastyc postfix/master[18459]: warning: /usr/libexec/postfix/smtpd: bad command startup -- throttling

Когда я отправляю тестовое письмо на свой сервер:

Jul  2 14:01:42 phantastyc postfix/smtpd[20154]: connect from mail-ve0-f178.google.com[209.85.128.178]

Затем отображается та же ошибка, что и выше.

И когда я пишу почту с помощью Roundcube, она просто зависает на Sending message... и через некоторое время говорит SMTP Error (-1): Connection to server failed и журналы говорят то же самое сообщение.

Вот мой postconf -n вывод:

alias_database = $alias_maps
alias_maps = hash:/etc/postfix/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
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
relay_domains = *
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_sasl_type = dovecot
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = dovecot
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/vmail_aliases
virtual_gid_maps = static:2222
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = hash:/etc/postfix/vmail_domains
virtual_mailbox_maps = hash:/etc/postfix/vmail_mailbox
virtual_minimum_uid = 2222
virtual_transport = virtual
virtual_uid_maps = static:2222

Вот это doveconf -n вывод:

# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-042stab088.4 i686 CentOS release 6.5 (Final) reiserfs
auth_mechanisms = plain login
default_login_user = vmail
disable_plaintext_auth = no
first_valid_gid = 2222
first_valid_uid = 2222
listen = *
mail_access_groups = vmail
mail_location = maildir:/var/vmail/%d/%n
passdb {
  args = scheme=SHA1 /etc/dovecot/passwd
  driver = passwd-file
}
protocols = imap lmtp
service auth {
  unix_listener auth-client {
    group = vmail
    mode = 0660
    user = vmail
  }
  unix_listener auth-master {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = root
}
service imap-login {
  process_min_avail = 1
  user = vmail
}
ssl = no
userdb {
  args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes
  driver = static
}

И когда я это сделаю:

[root@phantastyc ~]# ls -l /var/spool/postfix/private/auth
ls: cannot access /var/spool/postfix/private/auth: No such file or directory

Редактировать 1

Это вроде сработало, за исключением того, что теперь появляется новое сообщение об ошибке:

Jul  3 03:03:14 phantastyc postfix/trivial-rewrite[23348]: fatal: open database /etc/postfix/vmail_domains.db: No such file or directory
Jul  3 03:03:15 phantastyc postfix/master[18459]: warning: process /usr/libexec/postfix/trivial-rewrite pid 23348 exit status 1
Jul  3 03:03:15 phantastyc postfix/master[18459]: warning: /usr/libexec/postfix/trivial-rewrite: bad command startup -- throttling

Также Google (сервер, с которого я отправил тестовое электронное письмо) возвращает ошибку задержки, в которой говорится, что соединение с сервером было разорвано и что он будет продолжать попытки.

Редактировать 2

После устранения проблемы с помощью postmap, Я столкнулся с другой проблемой.

Вот некоторые записи:

Jul  4 21:51:20 phantastyc postfix/smtpd[13016]: connect from mail-vc0-f171.google.com[209.85.220.171]
Jul  4 21:51:21 phantastyc postfix/trivial-rewrite[13019]: warning: do not list domain phantastyc.tk in BOTH mydestination and virtual_mailbox_domains
Jul  4 21:51:21 phantastyc postfix/smtpd[13016]: NOQUEUE: reject: RCPT from mail-vc0-f171.google.com[209.85.220.171]: 550 5.1.1 <admin@phantastyc.tk>: Recipient address rejected: User unknown in local recipient table; from=<bnguyen170@gmail.com> to=<admin@phantastyc.tk> proto=ESMTP helo=<mail-vc0-f171.google.com>
Jul  4 21:51:21 phantastyc postfix/smtpd[13016]: disconnect from mail-vc0-f171.google.com[209.85.220.171]

Не в локальной таблице?

Вот это /etc/postfix/vmail_domains:

admin@phantastyc.tk     phantastyc.tk/admin
bnguyen@phantastyc.tk       phantastyc.tk/bnguyen

admin@oa2019.tk         oa2019.tk/admin
bnguyen@oa2019.tk       oa2019.tk/bnguyen

Что еще я напортачил?

Редактировать 3

Поскольку журнал сказал, что у меня не может быть доменного имени в обоих mydestination и virtual_mailbox_domains Я удалил это из mydestination поле и теперь исходящая почта в порядке. Входящая почта все еще немного нестабильна.

Jul  4 22:10:41 phantastyc postfix/smtpd[13160]: connect from mail-vc0-f173.google.com[209.85.220.173]
Jul  4 22:10:41 phantastyc postfix/smtpd[13160]: 514F213E0E3A: client=mail-vc0-f173.google.com[209.85.220.173]
Jul  4 22:10:41 phantastyc postfix/cleanup[13164]: 514F213E0E3A: message-id=<CADZik+X9uC8QGJZtNoWKk_Aw0bdCP49DUVgdWkhVBCZVOuz3cg@mail.gmail.com>
Jul  4 22:10:41 phantastyc postfix/qmgr[13153]: 514F213E0E3A: from=<bnguyen170@gmail.com>, size=1930, nrcpt=1 (queue active)
Jul  4 22:10:41 phantastyc postfix/virtual[13165]: 514F213E0E3A: to=<admin@phantastyc.tk>, relay=virtual, delay=0.4, delays=0.32/0.01/0/0.06, dsn=4.2.0, status=deferred (delivery failed to mailbox /var/vmail/phantastyc.tk/admin: cannot open file: Is a directory)
Jul  4 22:10:41 phantastyc postfix/smtpd[13160]: disconnect from mail-vc0-f173.google.com[209.85.220.173]
Jul  4 22:11:08 phantastyc postfix/smtpd[13160]: connect from localhost.localdomain[127.0.0.1]
Jul  4 22:11:08 phantastyc postfix/smtpd[13160]: 4292A13E0E3B: client=localhost.localdomain[127.0.0.1], sasl_method=LOGIN, sasl_username=admin@phantastyc.tk

Это меня пугает:

(delivery failed to mailbox /var/vmail/phantastyc.tk/admin: cannot open file: Is a directory)

Что с этим?

Вот это ls /var/vmail/phantastyc.tk/admin:

cur
dovecot.index.log
dovecot.mailbox.log
dovecot.uidlist
dovecot.uidvalidity
dovecot.uidvalidity.53b3965c
new
subscriptions
tmp

Вот это /etc/postfix/vmail_domains:

admin@phantastyc.tk     phantastyc.tk/admin
bnguyen@phantastyc.tk       phantastyc.tk/bnguyen

admin@oa2019.tk         oa2019.tk/admin
bnguyen@oa2019.tk       oa2019.tk/bnguyen

Редактировать 4

Извини, что я забегал вперед. Я должен был сделать это первым. Простой поиск показал, что в каталоге почтового ящика отсутствует косая черта в конце. Мой почтовый сервер теперь работает нормально.

Похоже на несоответствие конфигурации dovecot и postfix.

В конфигурации голубятни (особенно в секции авторизация службы, вы просто определяете два сокета аутентификационный клиент и auth-master. Добавить один раздел unix_listener с содержанием

unix_listener /var/spool/postfix/private/auth {
  mode = 0660
  # Assuming the default Postfix user and group
  user = postfix
  group = postfix        
}

Видеть эта страница для дальнейшей документации.