dovecot, sasl

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-11 9:33:59

MUA - dovecot. MTA - postfix. OC - freebsd. SASL from dovecot.
Возникла путаница: секция auth default отвечает за аутентификацию на стороне pop и smtp сервера?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-11 10:06:24

смотря как dovecot и postfix настроены

http://wiki.dovecot.org/HowTo/PostfixAndDovecotSASL
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-11 12:09:01

Выдержка из файла dovecot.conf:

Код: Выделить всё

auth default {
  mechanisms = plain login
passdb sql {
 args = /usr/local/etc/dovecot-sql.conf
}

  userdb passwd {
    args = blocking=yes
  }
userdb sql {
 args = /usr/local/etc/dovecot-sql.conf
}
  user = root
  socket listen {
    client {
       path = /var/spool/postfix/private/auth
       mode = 0660
       user = postfix
       group = postfix
    }
  }
}
main.cf:

Код: Выделить всё

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/auth

Учетки хранятся в mysql базе, соответственно dovecot авторизовывает через нее (это для pop сервера). Получается, что для sasl аутентификации используются те же реквизиты для получения почты и никак это не исправить?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-11 12:13:35

а в чем проблема?

думаю что можно из postfix-а напрямую тягать данные из мускула минуя dovecot
в данном случае получается единая точка авторизации в довекот, что есть удобно
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-11 12:33:05

ага, понятно
возникает маленькая загвоздка: почему может не работать скрипт управления довекотом /usr/local/etc/rc.d/dovecot?
приходится его killall, а потом вручную стартовать /usr/local/sbin/dovecot

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-11 13:05:02

как не работает? проверьте расположение pid файла, то что в конфиге и то что в rc скрипте
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-11 13:27:49

less /usr/local/etc/rc.d/dovecot :

Код: Выделить всё

pidfile="${base_dir}/master.pid"
В скрипте не указано переменной base_dir. Вначале скрипта прописал:

Код: Выделить всё

base_dir=/var/run/dovecot
. Никакого эффекта не возымело
На что обратить внимание не подскажете?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-11 13:32:50

смотрите лучше

Код: Выделить всё

base_dir=$(${command} ${command_args} -a | /usr/bin/awk -F ': ' '/^base_dir:/ { print $2 }')
это по вашему что? :-)
в /var/run/dovecot master.pid существует?

вы не сказали как у вас не работает
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-11 14:02:11

оказалось, что у меня в /etc/rc.conf написано было dovecot-enable="NO".

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-11 14:04:21

дискас :(
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-11 14:19:27

hizel писал(а):дискас :(
простите что? (имеете ввиду, что обычно возникаемая проблема?)

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-12 13:15:42

Чтобы не плодить тем: получается, что через dovecot можно забирать почту для всех только не для локальных пользователей системы? подойдет только вариант создания алиасов?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-12 13:16:43

откуда это получается?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-12 15:33:48

пытаюсь решить эту проблему:
dovecot.conf:

Код: Выделить всё

passdb passwd {  
}
mail_location = maildir:/var/spool/postfix/virtual_mailboxes/%u - здесь размещаются ящики юзеров из mysql
mail_location = mbox:/var/mail/%u - здесь хочу чтоб довекот искал почту для сист. юзеров

возникает ошибка, лог:

Код: Выделить всё

Jan 12 17:16:36 pop3-login: Info: Login: user=<andrey>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Jan 12 17:16:36 POP3(andrey): Info: Effective uid=1001, gid=0, home=/home/andrey
Jan 12 17:16:36 POP3(andrey): Info: mbox: data=/var/mail/andrey
Jan 12 17:16:36 POP3(andrey): Info: mbox: INBOX defaulted to /var/mail/andrey/inbox
Jan 12 17:16:36 POP3(andrey): Info: fs: root=/var/mail/andrey, index=, control=, inbox=/var/mail/andrey/inbox
Jan 12 17:16:36 POP3(andrey): Info: Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0
В инструкции написано:

Код: Выделить всё

##
## Mailbox locations and namespaces
##

# Месторасположение пользовательских почтовых ящиков. Это такой же параметр
# как и старый default_mail_env. Значение по умолчанию отсутствует, это
# означает, что Dovecot попытается найти ящики автоматически. Это не будет
# работать, если у пользователя до сих пор нет никакой почты, поэтому вы
# должны непосредственно указать Dovecot полный путь к ящику.
#
# Если вы используете mbox, указание пути к INBOX файлу (например, /var/mail/%u)
# недостаточно. Вам также необходимо указать Dovecot где находятся другие ящики
# и где Dovecot может расположить файлы с индексами. Это называется "корневая
# почтовая директория", и она должна быть указана первой в параметре mail_location.
вот про
где Dovecot может расположить файлы с индексами
не понимаю...

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-12 15:52:09

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-13 8:44:05

теперь работают по отдельности или системные пользователи или юзеры из mysql
cat /usr/local/etc/dovecot.conf:

Код: Выделить всё

mail_location = maildir:/var/spool/postfix/virtual_mailboxes/%u
mail_location = mbox:/var/mail/:INBOX=/var/mail/%u
коментю или первую или вторую строку, но одновременно все не работает
где еще капнуть?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-13 9:29:19

в документации довекота
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-13 10:34:43

используется namespace, написал следующее в dovecot.conf:

Код: Выделить всё

namespace private {
        separator = /
        prefix = "#mbox/"
        location = mbox:/var/mail/:INBOX=/var/mail/%u
        inbox = yes
        hidden = yes
        list = no
}

namespace private {
        separator = /
        prefix =
        location = maildir:/var/spool/postfix/virtual_mailboxes/%u
}
но все равно не робит, могу принимать почту для сист. пользователей. а вот с юзерами из бд проблемы - dovecot упорно проверяет каталого /var/mail:

Код: Выделить всё

Jan 13 12:10:34 POP3(webmaster@utk.local): Error: file_dotlock_create(/var/mail/webmaster@utk.local) failed: Permission denied (euid=1000(vuser) egid=1000(vuser) missing +w perm: /var/mail) (under root dir /var/mail -> no privileged locking)

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: dovecot, sasl

Непрочитанное сообщение hizel » 2010-01-13 10:42:18

namespace вам не нужны, вам нужно понять сущность userdb, то что указанно в основном конфиге является параметрами по умолчанию
http://wiki.dovecot.org/UserDatabase
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: dovecot, sasl

Непрочитанное сообщение Гость » 2010-01-13 14:24:30

действительно, решил, спасибо!

Код: Выделить всё

mail_location = maildir:/var/spool/postfix/virtual_mailboxes/%u
userdb passwd {
         args = mail=mbox:/var/mail/:INBOX=/var/mail/%u
  }
теперь почту могу получить для всех необходимых пользователей)