Страница 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
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 :
В скрипте не указано переменной base_dir. Вначале скрипта прописал:
. Никакого эффекта не возымело
На что обратить внимание не подскажете?
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
}
теперь почту могу получить для всех необходимых пользователей)