LINUX.ORG.RU
решено ФорумAdmin

После «неудачного» использования Webmin изменился dovecot.conf

 ,


0

1

Добрый День ! Linux только начинаю изучать, поэтому камнями не кидайтесь )

Работает связка Postfix + Dovecot + Spamassasin, «случайно» произвел обновления dovecot через админку вебмайна, после чего перестал пускать пользователей. Лог показывает следующее:

 Jan 23 15:19:14 KorCentOS dovecot: auth: Fatal: sql: Configuration file path not given
Jan 23 15:19:14 KorCentOS dovecot: master: Error: service(auth): command startup failed, throttling
Jan 23 15:19:14 KorCentOS dovecot: imap-login: Warning: Error sending handshake to auth server: Broken pipe
Jan 23 15:19:14 KorCentOS postfix/smtpd[10468]: fatal: no SASL authentication mechanisms
Jan 23 15:19:14 KorCentOS postfix/smtpd[10465]: fatal: no SASL authentication mechanisms
Jan 23 15:19:14 KorCentOS postfix/smtpd[10469]: fatal: no SASL authentication mechanisms
Jan 23 15:19:14 KorCentOS postfix/smtpd[10467]: fatal: no SASL authentication mechanisms 

Основные параметры из postfixa (main.cf)

# readme_directory: The location of the Postfix README files.
#
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES

# ============================================================
# MySQL mappings
# ============================================================
relay_domains = mysql:/etc/postfix/mysql/relay_domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql/virtual_alias_maps.cf,
                     mysql:/etc/postfix/mysql/virtual_alias_domain_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf

# ============================================================
# RESTRICTIONS
#
# Uncomment reject_rbl_client if necessary
# More information at: http://help.ubuntu.ru/wiki/ÆÌÔÁÉ_ÓÁÁÎ_ÕÏÎ_smtp_ÐÏÏÏÁ# ============================================================
smtpd_discard_ehlo_keywords = etrn, silent-discard
smtpd_forbidden_commands = CONNECT GET POST
broken_sasl_auth_clients = yes
smtpd_delay_reject = yes
smtpd_helo_required = yes
disable_vrfy_command = yes

smtpd_helo_restrictions =
#permit_mynetworks,
                          permit_sasl_authenticated,
                          reject_non_fqdn_helo_hostname,
                          reject_invalid_helo_hostname

smtpd_data_restrictions =
# permit_mynetworks,
                          permit_sasl_authenticated,
                          reject_unauth_pipelining,
                          reject_multi_recipient_bounce,

smtpd_sender_restrictions =
#permit_mynetworks,
                            permit_sasl_authenticated,
                            reject_non_fqdn_sender,
                            reject_unknown_sender_domain

smtpd_recipient_restrictions = reject_non_fqdn_recipient,
                               reject_unknown_recipient_domain,
                               reject_multi_recipient_bounce,
 #                              permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination,
                               check_policy_service unix:/var/spool/postfix/postgrey/socket,             
                               #reject_rbl_client zen.spamhaus.org,
                               #reject_rbl_client bl.spamcop.net,
                               #reject_rbl_client dnsbl.sorbs.net,
                               reject_invalid_hostname

#smtpd_client_restrictions = permit_sasl_authenticated,
#                           check_client_access hash:/etc/postfix/restricted_senders,
#                           permit_mynetworks,
#                           reject_unauth_destianation


# ============================================================
# TLS
# ============================================================
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtpd_tls_key_file = /etc/postfix/certs/key.pem
smtpd_tls_cert_file = /etc/postfix/certs/cert.pem
tls_random_source = dev:/dev/urandom

# ============================================================
# LIMITS
# ============================================================
message_size_limit = 51200000
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 15
smtpd_error_sleep_time = 20
anvil_rate_time_unit = 60s
smtpd_client_connection_count_limit = 20
smtpd_client_connection_rate_limit = 30
smtpd_client_message_rate_limit = 30
smtpd_client_event_limit_exceptions = 127.0.0.0/8
smtpd_client_connection_limit_exceptions = 127.0.0.0/8

Основные параметры из dovecot.conf

#10-auth.conf
disable_plaintext_auth = no
auth_realms = domain.tld domain2.tld
auth_default_realm = domain.tld
auth_mechanisms = plain login
#!include auth-sql.conf.ext

#10-mail.conf
mail_location = maildir:/var/vmail/%d/%n
mail_uid = 1000
mail_gid = 1000
mail_plugins = quota

#10-master.conf IMAP + IMAPS
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}

# POP + POP3
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

# SASL + go Postfix
service auth {
  unix_listener auth-userdb {
    mode = 0660
    user = vmail
    group = vmail
  }
  unix_listener /var/spool/postfix/private/auth {
# client {
    mode = 0660
    user=postfix
    group=postfix
  }
}


#10-ssl.conf
ssl = yes
ssl_cert = </etc/postfix/certs/cert.pem
ssl_key = </etc/postfix/certs/key.pem
Заранее благодарен!

удаляй пост, осиливай местную разметку и пиши заново

anonymous ()
Ответ на: комментарий от anonymous

ах, да, и выкинь вебмин или проси пять звёзд, вебмин — удел терпил-вантузятников

anonymous ()

Вебмин не выкинь, но разметку осиль

dvrts ★★★ ()

dovecot-sql.conf.ext

driver = mysql
connect = host=127.0.0.1 dbname=postfix user=postfix password=secret
default_pass_scheme = MD5-CRYPT
user_query = SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n'as mail, 1000 AS uid, 1000 AS gid, concat('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1'
password_query = SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/var/vmail/%d/%n' as userdb_mail, 1000 as userdb_uid, 1000 as userdb_gid, concat('*:bytes=', quota) AS userdb_quota_rule FROM mailbox WHERE username = '%u' AND active = '1
Benefactor ()

Продолжай пользоваться вебмином - однажды вылетишь из профессии.

kernelpanic ★★★★★ ()
Ответ на: комментарий от Benefactor
dovecot: auth: Fatal: sql: Configuration file path not given

Подскажите что означает эта ошибка ?

Benefactor ()
Ответ на: комментарий от Benefactor

Linux только изучаю, но уже ломаю боевую машину, ага.

По теме:

#!include auth-sql.conf.ext
Это ты сам закомментил или webmin?

Лучше в следующий раз выкладывай вывод doveconf -n (можно на pastebin, если много), а не куски конфигов

menzoberronzan ()
Ответ на: комментарий от menzoberronzan

Строчку сам закомментировал по туториалу с хабра, в таком виде работало.

doveconf -n

# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-358.23.2.el6.x86_64 x86_64 CentOS release 6.4 (Final) ext4
auth_default_realm = domain.tld
auth_mechanisms = plain login
auth_realms = domain.tld domain2.tld
disable_plaintext_auth = no
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
login_greeting = Hello there.
mail_debug = yes
mail_gid = 1000
mail_location = maildir:/var/vmail/%d/%n
mail_plugins = quota
mail_uid = 1000
mbox_write_locks = fcntl
passdb {
  driver = sql
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  autocreate = Trash
  autocreate2 = sent-mail
  autocreate3 = drafts
  autosubscribe = Trash
  autosubscribe2 = sent-mail
  autosubscribe3 = drafts
  quota = maildir:User quota
  quota_rule = *:storage=2000M
  quota_rule2 = Trash:storage=+200M
  quota_warning = storage=90%% quota-warning 90 %u
}
protocols = imap pop3
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = vmail
}
ssl_cert = </etc/postfix/certs/cert.pem
ssl_key = </etc/postfix/certs/key.pem
userdb {
  driver = sql
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocol lda {
  mail_plugins = quota autocreate
  postmaster_address = ska4enko@gmail.com
}
protocol imap {
  mail_max_userip_connections = 20
  mail_plugins = quota autocreate quota imap_quota
}

Боевую машину сам поднял, сам и опустил ). Бакулу настроил сделал один бекап для проверки и дальше красноглазить, в итоге дата бекапа меньше даты поднятия постфикса, с этого момента настрою ежедневный бекап.

Benefactor ()
Ответ на: комментарий от Benefactor

спасибо за совети с вебмином, перестал просматривать/сохранять конфиг через него, строка

dovecot: auth: Fatal: sql: Configuration file path not given
исчезла, теперь пишет про отсутствие механизма аутентификации SASL

Jan 23 16:45:57 KorCentOS postfix/smtpd[13207]: warning: SASL: Connect to private/auth failed: Connection refused
Jan 23 16:45:57 KorCentOS postfix/smtpd[13207]: fatal: no SASL authentication mechanisms
Benefactor ()
Ответ на: комментарий от kernelpanic

Чем вам вебмин-то не нравится? Не всегда уместна хардкорная правка конфигов в консоли

dvrts ★★★ ()
Ответ на: комментарий от Benefactor

поменял права в unix_listener с 0660 на 0666

# SASL + go Postfix
service auth {
  unix_listener auth-userdb {
    mode = 0660
    user = vmail
    group = vmail
  }
  unix_listener /var/spool/postfix/private/auth {
# client {
    mode = 0666
    user=postfix
    group=postfix
  }
}

и ошибка

dovecot: auth: Fatal: sql: Configuration file path not given
опять вернулась

Benefactor ()
Ответ на: комментарий от Benefactor

Атрибуты файла auth

srw-rw-rw- 1 postfix postfix 0 Янв 23 17:00 /var/spool/postfix/private/auth
Benefactor ()
Ответ на: комментарий от Benefactor

Этот /etc/dovecot/dovecot-sql.conf.ext файл имеется? И если да, то проверь какие права на нем стоят

menzoberronzan ()
Ответ на: комментарий от menzoberronzan

Да, файл есть

-rw-r--r-- 1 root root 656 Янв 23 16:17 /etc/dovecot/dovecot-sql.conf.ext
Benefactor ()
Ответ на: комментарий от Benefactor

Нашел - первое passdb лишнее

passdb {
  driver = sql
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}

menzoberronzan ()
Ответ на: комментарий от menzoberronzan

взлетело =), ты даже не представляешь насколько я тебя сейчас уважаю, напиши адрес куда пиво выслать !

Benefactor ()
Ответ на: комментарий от dvrts

хардкорная правка конфигов в консоли

что в правке конфигов в консоли хардкорного? Разве что только для ученика 7 класса, который мамке хвастается, какой он хаккир.

Prius ()
Ответ на: комментарий от kernelpanic

Продолжай пользоваться вебмином - однажды вылетишь из профессии.

4.2

дворник может юзать вебмин.

emulek ()
Ответ на: комментарий от dvrts

Не всегда уместна хардкорная правка конфигов в консоли

не всегда уместен дворник в консоли боевого сервера.

emulek ()
Ответ на: комментарий от Benefactor

поменял права в unix_listener с 0660 на 0666

666 — это число зверя из Иоана Богослова. С какого перепугу ты его в конфиг сервера пихаешь?

Configuration file path not given

https://translate.google.ru/?hl=ru&tab=iT#en/ru/Configuration file path n...

гуглотранслятор работает по Йоду, но думаю, если ты не идиот, то поймёшь смысл.

emulek ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.