dovecot проблема с авторизацией

M2
На сайте с 11.01.2011
Offline
341
3467

Изначально думал брать пароли из системного файла /etc/passwd. В файле 10-auth.conf:


passdb {
driver = passwd-file
args = /etc/passwd
}

Сервис просто не стартует.

Вот так:


passdb {
driver = passwd-file
args = scheme=plain-md5 username_format=%n /etc/auth/dovecot.passwd
}

userdb {
driver = passwd-file
args = username_format=%n /etc/auth/dovecot.passwd
default_fields = uid=vmail gid=vmail home=/var/vmail/%u
}

Тоже не стартует... повторюсь, конфиги прописываю в файл /etc/dovecot/conf.d/1o-auth.conf

Авторизацию проверяю телнетом по 110 порту. Пробовал вводить как полное имя пользователя с доменом, так и без него. Пароль вводил plain text и зашифрованный md5. Ответ один - authentication failed.

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
Himiko
На сайте с 28.08.2008
Offline
560
#1

Так вы определитесь... "не стартует" или "ошибка авторизации"?

В случае с "не стартует" подключение на 110й порт должно вообще не проходить и не спрашивать пароля.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
M2
На сайте с 11.01.2011
Offline
341
#2

Не стартует.


service dovecot start
ps ax | grep dovecot

В списке процессов dovecot НЕ наблюдается.

А авторизацию проверял, когда стартовал сервис. А стартовал он без блоков passdb и userdb.

В настоящее время меня интересует один вопрос: можно ли заставить dovecot брать данные о пользователях из системного файла /etc/passwd ?

Himiko
На сайте с 28.08.2008
Offline
560
#3

в 10-auth.conf указывается только подключение нужного модуля:

#!include auth-system.conf.ext
#!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext

А уже в файле auth-passwdfile.conf.ext прописано:

passdb {
driver = passwd-file
args = scheme=CRYPT username_format=%Lu /etc/dovecot/dovecot.passwd
}

userdb {
driver = passwd-file
args = username_format=%Lu /etc/dovecot/dovecot.passwd
}

Чтобы брал системных юзеров, нужно раскомментировать строку в файле 10-auth.conf

!include auth-system.conf.ext
#!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext

а там уже в auth-system.conf.ext прописано:

# System users (NSS, /etc/passwd, or similiar). In many systems nowadays this
# uses Name Service Switch, which is configured in /etc/nsswitch.conf.
userdb {
# <doc/wiki/AuthDatabase.Passwd.txt>
driver = passwd
# [blocking=no]
#args =
}


# System users (NSS, /etc/passwd, or similiar).
# In many systems nowadays this uses Name Service Switch, which is
# configured in /etc/nsswitch.conf. <doc/wiki/AuthDatabase.Passwd.txt>
passdb {
driver = passwd
# [blocking=no]
#args =
}
M2
На сайте с 11.01.2011
Offline
341
#4

/etc/dovecot/conf.d/10-auth.conf


disable_plaintext_auth = yes
auth_realms = domain.ru
auth_default_realm = domain.ru
auth_mechanisms = plain login
!include auth-system.conf.ext

/etc/dovecot/conf.d/auth-system.conf.ext


passdb {
driver = pam
[session=yes] [setcred=yes] [failure_show_msg=yes] [max_requests=<n>]
[cache_key=<key>] [<service name>]
args = dovecot
}

Это та часть файла, которая раскомментирована.

Библиотека pam_unix.so в системе имеется.

Быть может необходимо ее скопировать в то место, которое доступно для dovecot? Сейчас она находится по пути /lib/x86_64-linux-gnu/security/

В общем итог всего вышеописанного:


root@:~# service dovecot start
dovecot start/running, process 18050
root@:~# ps ax | grep dovecot
18052 pts/0 S+ 0:00 grep --color=auto dovecot


В системных логах последняя запись:

Mar 27 14:40:01 156123 CRON[17775]: (smmsp) CMD (test -x /etc/init.d/sendmail && /usr/share/sendmail/sendmail cron-msp)


Т.е. dovecot не стартует и ничего не пишет в логи. Как так?

В качестве доказательства, что dovecot действительно у меня пишет именно в системный лог:


# Log file to use for error messages. "syslog" logs to syslog,
# /dev/stderr logs to stderr.
log_path = syslog

[umka]
На сайте с 25.05.2008
Offline
456
#5

Сислог сислогу рознь.

Dovecot пишет в обработчик 'mail', соответственно, смотреть надо maiillog.

Лог в помощь!
M2
На сайте с 11.01.2011
Offline
341
#6

Сейчас специально посмотрел - в файле /var/log/mail.log ничего нет. Т.е. в момент "ложного" старта в этот файл вообще ничего не пишется.

M2
На сайте с 11.01.2011
Offline
341
#7

Проблему решил.... просто заменил конфы оригинальными, которые шли с dovecot, и чуток подправил в соответствии со своими нуждами.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий