Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Новая тема о старом: Exim + dovecot = missing +r perm auth-userdb  (Прочитано 3331 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dm07

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Всем доброго времени суток. После обновления Ubuntu 10.04LTS до 12.04LTS, появилась такая ошибка в логе dovecot-deliver.log:
Nov 24 06:10:12 lda: Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: Permission denied (euid=5000(vmail) egid=5000(vmail) missing +r perm: /var/run/dovecot/auth-userdb, UNIX perms appear ok (
ACL/MAC wrong?))
и доставка в ящик пользователя не выполняется.
Действительно, только владелец (root) может делать с файлом что хочет:
ls -l /var/run/dovecot/auth-userdb
srw------- 1 root root 0 Nov 24 06:44 /var/run/dovecot/auth-userdb
А вот что делает exim в момент доставки писем в dovecot (описание транспорта):
dovecot_delivery:
  driver = pipe
  debug_print = "T: dovecot_delivery for $local_part@$domain"
  command = /usr/lib/dovecot/deliver -d $local_part@$domain
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add = false
  log_output = true
  user = vmail
Т.е. вызов dovecot-lda от имени пользователя vmail вызывает подобную ошибку в логе dovecot-deliver. Попытка прописать пользователя root в транспорте не увенчается успехом, т.к. этот пользователь находится в списке запрещенных пользователей.
Временно проблема решается так:
# chown vmail: /var/run/dovecot/auth-userdb
После перезагрузки dovecot опять меняется владелец на root для файла auth-userdb.
А еще: у меня в секции service auth довкота:
service auth {
  unix_listener auth-master {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = root
}
Т.е. режим mode, и явно заданные user и group не имеют никакой силы, файл все равно создается с правами, как описано выше. Может кто-нибудь полечил?

Оффлайн Bambr

  • Участник
  • *
  • Сообщений: 121
    • Просмотр профиля
В Dovecot V1 за аутентификацию LDA отвечал сокет auth-master, в Dovecot V2, cогласно документации, отвечает сокет auth-userdb

service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = vmail # User running dovecot-lda
    #group = vmail # Or alternatively mode 0660 + dovecot-lda user in this group
  }
}

Оффлайн dm07

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
В Dovecot V1 за аутентификацию LDA отвечал сокет auth-master, в Dovecot V2, cогласно документации, отвечает сокет auth-userdb

service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = vmail # User running dovecot-lda
    #group = vmail # Or alternatively mode 0660 + dovecot-lda user in this group
  }
}

Спасибо большое, очень помогло!

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.