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

courier-authlib проблема с IMAP квотами.

Добавлено: 2010-11-03 12:14:18
slonspirit
Доброго времени суток!
Проблема заключается в том, что индикаторы в RoundCube и Thunderbird(IMAP) не видят квоты имаповские...
Имею
-FreeBSD 8.0-RELEASE
-Exim version 4.69
-courier-authlib-0.62.4
-courier-imap-4.6.0,2

authdaemonrc

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

authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=5
authdaemonvar=/var/run/authdaemond
subsystem=mail
DEBUG_LOGIN=2
DEFAULTOPTIONS="wbnodsn=1"
LOGGEROPTS=""
authmysqlrc

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

MYSQL_SERVER            localhost
MYSQL_USERNAME          mail
MYSQL_PASSWORD          [пароль]
MYSQL_PORT              3306
MYSQL_DATABASE          mail
MYSQL_USER_TABLE        `mailbox`
MYSQL_CLEAR_PWFIELD     `password`
##MYSQL_QUOTA_FIELD     quota
MYSQL_QUOTA_FIELD       concat(quota,'S')
MYSQL_UID_FIELD         26
MYSQL_GID_FIELD         26
MYSQL_LOGIN_FIELD       `username`
MYSQL_NAME_FIELD        `name`
MYSQL_MAILDIR_FIELD     CONCAT('/var/mail/exim/', `maildir`)
MYSQL_HOME_FIELD        CONCAT('/var/mail/exim/', `maildir`)
DEFAULT_DOMAIN          margogroup.com.ua
ну и собственно дебаг...

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

Nov  2 23:02:36 isis authdaemond: SQL query: SELECT `username`, "", `password`, 26, 26, CONCAT('/var/mail/exim/', `maildir`), CONCAT('/var/mail/exim/', `maildir`), concat(quota,'S'), `name`, "" FROM `mailbox` WHERE `username` = 'spam@margogroup.com.ua'
Nov  2 23:02:36 isis authdaemond: SQL query: SELECT `username`, "", `password`, 26, 26, CONCAT('/var/mail/exim/', `maildir`), CONCAT('/var/mail/exim/', `maildir`), concat(quota,'S'), `name`, "" FROM `mailbox` WHERE `username` = 'spam@margogroup.com.ua'
Nov  2 23:02:36 isis authdaemond: authmysql: sysusername=<null>, sysuserid=26, sysgroupid=26, homedir=/var/mail/exim/margogroup.com.ua/spam/, address=spam@margogroup.com.ua, fullname=<null>, maildir=/var/mail/exim/margogroup.com.ua/spam/, quota=1024000S, options=<null>
Nov  2 23:02:36 isis authdaemond: authmysql: clearpasswd=, passwd=<null>
Nov  2 23:02:36 isis authdaemond: authmysql: sysusername=<null>, sysuserid=26, sysgroupid=26, homedir=/var/mail/exim/margogroup.com.ua/spam/, address=spam@margogroup.com.ua, fullname=<null>, maildir=/var/mail/exim/margogroup.com.ua/spam/, quota=1024000S, options=<null>
Nov  2 23:02:36 isis authdaemond: authmysql: clearpasswd=, passwd=<null>

Re: courier-authlib проблема с IMAP квотами.

Добавлено: 2010-11-03 20:19:37
Alex Keda
юзайте dovecot
прекрасно всё показывает
Изображение

Re: courier-authlib проблема с IMAP квотами.

Добавлено: 2010-11-05 11:57:47
slonspirit
а как этот счётчик вообще работает? он считает размер сообщений в папке и потом сравнивает со значением, которое передаёт ИМАП сервер? или непосредственно это значение передаёт Courier-imap???

Re: courier-authlib проблема с IMAP квотами.

Добавлено: 2010-11-17 10:36:08
Yevgeniy
Всем привет
Настроил связку egroupware+postfix+mysql+dovecot с авторизацией в АД
Все нормально работает кроме IMAP, притом что сам клиент egroupwara нормально работает через IMAP, не работает outlook, выдает

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

Outlook не удалось загрузить папку (null)
dovecot.conf

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

## Dovecot configuration file

# If you're in a hurry, see http://wiki.dovecot.org/QuickConfiguration

# "dovecot -n" command gives a clean output of the changed settings. Use it
# instead of copy&pasting this file when posting to the Dovecot mailing list.

# '#' character and everything after it is treated as comments. Extra spaces
# and tabs are ignored. If you want to use either of these explicitly, put the
# value inside quotes, eg.: key = "# char and trailing whitespace  "

# Default values are shown for each setting, it's not required to uncomment
# any of the lines.

# Base directory where to store runtime data.
base_dir = /var/run/dovecot/

# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
protocols = imap imaps pop3 pop3s

# IP или адрес хоста, где необходимо слушать соединения. В данный момент
# невозможно задать множество адресов. "*" прослушивает все IPv4 интерфейсы.
# "[::]" прослушивает все IPv6 интерфейсы, но так же может слушать все IPv4
# интерфейсы, зависит от операционной системы.
#
# Если вы хотите указать порты для каждого сервиса, вам необходимо настроить
# эти параметры внутри секции protocol imap/pop3 { ... }, таким образом вы
# сможете задать различные порты для IMAP/POP3. Например:
protocol imap {
     listen = localhost:143
     ssl_listen = localhost:993
   }

protocol pop3 {
         listen = 10.1.1.3:110
         ssl_listen = 10.1.1.3:995
}

# Отключает команду LOGIN и все остальные plaintext методы аутентификации пока
# не будет использован SSL/TLS. Примечание если удаленный ip соответствует
# локальному ip (например, вы подключаетесь с того же компьютера), соединение
# будет считаться безопасным и plaintext методы аутентификации будут разрешены.
disable_plaintext_auth = yes

##
## Logging
##

# Использовать этот log файл вместо syslog().
log_path = /var/log/dovecot.log

# Сохранять информационные сообщения в этот файл
info_log_path = /var/log/dovecot.info

log_timestamp = "%b %d %H:%M:%S "

# Syslog facility to use if you're logging to syslog. Usually if you don't
# want to use "mail", you'll use local0..local7. Also other standard
# facilities are supported.
#syslog_facility = dovecot

##
## SSL settings
##

# Отключить поддержку SSL/TLS.
# no - поддержка SSL/TLS включена
# yes - поддержка SSL/TLS отключена
ssl_disable = no

# В данных параметрах задаются X.509 SSL/TLS сертификат и закрытый ключ,
# в формате PEM. Они считываются перед тем, как dovecot перестает работать
# с привилегиями root, так что права на чтение должен иметь только root.
# Как создать сертификат и ключ читаем - ssl-howto.
# установите права на этот файл - root:root 0444
ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem
# установите права на этот файл - root:root 0400
ssl_key_file = /etc/pki/dovecot/private/dovecot.pem

# Задает периодичность регенерации файла SSL параметров. Во время процесса
# регенерации производится интенсивное использование центрального процессора,
# так что на слабых машинах не следует указывать слишком маленький интервал
# времени. На современных компьютерах время регенерации занимает всего
# несколько секунд. Значение задается в часах, 0 - полностью отключает
# регенерацию.
ssl_parameters_regenerate = 1

# Список используемых SSL протоколов. Полный список протоколов можно
# посмотреть по адресу - http://www.openssl.org/docs/apps/ciphers.html
ssl_cipher_list = ALL:!LOW:!SSLv2

# Показывать ошибки уровня протокола SSL. Полезно использовать только
# во время отладки, после этого лучше отключить.
verbose_ssl = yes

##
## Login processes
##

# Сообщение приветствия для клиентов
login_greeting = Welcome to Akko-Invest IMAP/POP3 server.

##
## Mailbox locations and namespaces
##

# Месторасположение пользовательских почтовых ящиков. Это такой же параметр
# как и старый default_mail_env. Значение по умолчанию отсутствует, это
# означает, что Dovecot попытается найти ящики автоматически. Это не будет
# работать, если у пользователя до сих пор нет никакой почты, поэтому вы
# должны непосредственно указать Dovecot полный путь к ящику.
#
# Если вы используете mbox, указание пути к INBOX файлу (например, /var/mail/%u)
# недостаточно. Вам также необходимо указать Dovecot где находятся другие ящики
# и где Dovecot может расположить файлы с индексами. Это называется "корневая
# почтовая директория", и она должна быть указана первой в параметре mail_location.
#
# Существует несколько специальных переменных, которые вы можете использовать:
#
#   %u - имя пользователя
#   %n - пользовательская часть в user@domain, то же самое что и %u
#   если не задана доменная часть
#   %d - доменая часть в user@domain, пустая, если не указан домен
#   %h - домашняя директория
#
# Смотрите doc/variables.txt для полного списка переменных.
#
# Некоторые примеры:
mail_location=maildir:~/Maildir:INBOX=~/Maildir/:INDEX=~/Maildir/tmp/index
#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
# mail_location = maildir:/var/spool/vmail/%n

##
## Mail processes
##

# Включает отладку, очень полезно при первоначальной настройке и поиске
# неисправностей. После настройки лучше отключать.
mail_debug = yes

# Допустимый интервал UID для пользователей, по умолчанию 500 и выше.
# Это сделано для того, чтобы быть увереным в том, что пользователи
# не смогут войти как демоны или другие системные пользователи.
# Примечание запрет входа root встроен в бинарник dovecot и не может
# быть изменен, даже если установить first_valid_uid в 0.
# 1981 - uid и gid пользователя и группы virtual соответственно,
# которых мы создавали в Mail Howto
first_valid_uid = 5000
last_valid_uid = 5000

# Valid GID range for users, defaults to non-root/wheel. Users having
# non-valid GID as primary group ID aren't allowed to log in. If user
# belongs to supplementary groups with non-valid GIDs, those groups are
# not set.
first_valid_gid = 5000
last_valid_gid = 5000

##
## LDA specific settings
##

protocol lda {
  # Адрес, используемый при отправке отклоненной почты.
  # Например, при превышении пользователем квоты.
  # Address to use when sending rejection mails
  postmaster_address = postmaster@akko.com.ua

  # Поддержка динамически загружаемых плагинов. Параметр mail_plugins
  # задает разделенный пробелами список плагинов, которые будут загружены.
  mail_plugins = quota
  mail_plugin_dir = /usr/lib/dovecot/lda/

  # Имя хоста, используемое в различных частях отсылаемой почты,
  # например Message-Id. По умолчанию действительное имя хоста.
hostname = egroupware.uss.loc
}

##
## Authentication processes
##

#
# Следующих три параметра следует использовать только во мремя настройки
# и отладки dovecot. После этого их лучше отключить.
#

# Более высокий уровень информативности. Полезно использовать при поиске
# ошибок, связанных с аутентификацией.
auth_verbose = yes

# Более высокий уровень информативности, используется в целях отладки.
# Например, показывает SQL запросы.
auth_debug = yes

# В случае несовпадения пароля, отображает пароли и испоьзуемую схему
# хранения пароля. Требует, чтобы был установлен auth_debug=yes.
auth_debug_passwords = yes

auth default {
  # Разделенный пробелами список, используемых механизмов аутентификации:
  # plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi
  mechanisms = plain login

  #
  # База данных паролей используется для проверки паролей пользователей
  # (и ничего более). Вы можете использовать множество passdbs и userdbs.
  # Это полезно, если вы хотите позволить обоим - системным пользователям и
  # (/etc/passwd) и виртуальным пользователям входить без необходимости
  # делать дубликаты системных пользователей в БД виртуальных пользователей.
  #
  # http://wiki.dovecot.org/PasswordDatabase
  #
  # Пользователи могут быть временно отключены с помощью добавления deny=yes
  # в passdb. Если пользователь найден в БД, аутентификация потерпит неудачу.
  # БД с отключенными пользователями всегда должна быть указана перед остальными,
  # так как ее проверка идет первой.

  # SQL database
  passdb sql {
    args = /etc/dovecot/dovecot-mysql.conf
  }

  #
  # База данных пользователей указывает месторасположение почтовых ящиков
  # и пользователя/группу владеющего этим ящиком.
  #
  # http://wiki.dovecot.org/UserDatabase
  #

  # SQL database
  # http://wiki.dovecot.org/AuthDatabase/SQL
  userdb sql {
    args = /etc/dovecot/dovecot-mysql.conf
  }

  # Пользователь, от имени которого будет работать процесс. Этот пользователь
  # должен иметь доступ только к БД пользователей и паролей и никуда больше.
  # Только shadow и pam аутентификация требует пользователя root, так что по
  # возможности используйте пользователя отличного от root . Примечание:
  # этот пользователь НЕ ИСПОЛЬЗУЕТСЯ для доступа к почте. Для доступа
  # к почте используется пользователь заданный выше в userdb.
  user = vmail

  socket listen {
    master {
      # Данный сокет обычно используется, чтобы дать доступ dovecot LDA
      # к userdb, для того, чтобы он мог найти информацию о месторасположении
      # почтовых ящиков пользователей. Данный сокет может также использоваться
      # для обычной аутентификации пользователей.
      # ПРЕДУПРЕЖДЕНИЕ: Не давайте права доступа к этому сокету недоверенным
      # пользователям. Это может привести к нарушению безопасности системы.
      # По возможности ограничьте доступ к данному сокету.
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = vmail
      group = mail
    }
    client {
      # Обычно безопасно давать полный доступ к данному сокету.
      # Как правило, данный сокет используют SMTP сервера для того, чтобы
      # производить smtp аутентификацию.
      path = /var/spool/postfix/private/dovecot-smtp-auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}

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

uname -a
Linux 2.6.18-194.26.1.el5 #1 SMP Tue Nov 9 12:54:40 EST 2010 i686 i686 i386 GNU/Linux
есть идеи?

Re: courier-authlib проблема с IMAP квотами.

Добавлено: 2010-11-17 11:13:04
Yevgeniy
Ребята такой вопрос для работы Outlook-a через IMAP нужно поднимать самбу?

Re: courier-authlib проблема с IMAP квотами.

Добавлено: 2010-11-18 19:20:21
Yevgeniy
Решил проблему если интересно то проблема была в следующем
1. вместо

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

protocol imap {
     listen = localhost:143
     ssl_listen = localhost:993
   }
нужно было

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

protocol imap {
     listen = *:143
     ssl_listen = *:993
   }