Страница 1 из 1

dovecot, sasl

Добавлено: 2010-01-11 9:33:59
Гость
MUA - dovecot. MTA - postfix. OC - freebsd. SASL from dovecot.
Возникла путаница: секция auth default отвечает за аутентификацию на стороне pop и smtp сервера?

Re: dovecot, sasl

Добавлено: 2010-01-11 10:06:24
hizel
смотря как 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 аутентификации используются те же реквизиты для получения почты и никак это не исправить?

Re: dovecot, sasl

Добавлено: 2010-01-11 12:13:35
hizel
а в чем проблема?

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

Re: dovecot, sasl

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

Re: dovecot, sasl

Добавлено: 2010-01-11 13:05:02
hizel
как не работает? проверьте расположение 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
. Никакого эффекта не возымело
На что обратить внимание не подскажете?

Re: dovecot, sasl

Добавлено: 2010-01-11 13:32:50
hizel
смотрите лучше

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

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".

Re: dovecot, sasl

Добавлено: 2010-01-11 14:04:21
hizel
дискас :(

Re: dovecot, sasl

Добавлено: 2010-01-11 14:19:27
Гость
hizel писал(а):дискас :(
простите что? (имеете ввиду, что обычно возникаемая проблема?)

Re: dovecot, sasl

Добавлено: 2010-01-12 13:15:42
Гость
Чтобы не плодить тем: получается, что через dovecot можно забирать почту для всех только не для локальных пользователей системы? подойдет только вариант создания алиасов?

Re: dovecot, sasl

Добавлено: 2010-01-12 13:16:43
hizel
откуда это получается?

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 может расположить файлы с индексами
не понимаю...

Re: dovecot, sasl

Добавлено: 2010-01-12 15:52:09
hizel

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
коментю или первую или вторую строку, но одновременно все не работает
где еще капнуть?

Re: dovecot, sasl

Добавлено: 2010-01-13 9:29:19
hizel
в документации довекота

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)

Re: dovecot, sasl

Добавлено: 2010-01-13 10:42:18
hizel
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
  }
теперь почту могу получить для всех необходимых пользователей)