Назад | Перейти на главную страницу

ошибка разрешений: журнал dovecot

Я пытаюсь установить exim + dovecot на свой сервер CentOS. И когда я попытался запустить его (как root), я получил следующее сообщение:

Запуск Dovecot Imap: Ошибка: Невозможно записать в каталог журнала / var / log: В доступе отказано Fatal: Неверная конфигурация в /etc/dovecot.conf

Я даже пытался установить разрешения на 777, но это не помогло. Также у меня была такая же проблема с dovecot.conf, я решил ее, удалив dovecot.conf и создав его снова. Буду признателен за любую помощь. Мой dovecot.conf выглядит так:

log_path = /var/log/dovecot.log

login_greeting = pop3/imap service.

protocol imap {

}

protocol pop3 {

}
pop3_uidl_format = %08Xu%08Xv

protocol lda {

  postmaster_address = postmaster@example.com

  mail_plugin_dir = /usr/lib/dovecot/lda

}

auth default {

  mechanisms = plain login cram-md5 digest-md5

  passdb passwd-file {

  args = /etc/dovecot.passwd

  }

  userdb passwd-file {

  args = /etc/dovecot.passwd

  }

  user = root

  socket listen {

 client {

`}

Это старый поток, но недавно у меня была аналогичная проблема, поэтому приступил к ее исправлению.

У меня был сервер с dovecot, по-видимому, работающий как пользователь без полномочий root (родительский процесс, работающий как root, но дочерние процессы для служб, работающих как mail). Иногда это может произойти, если вы управляете сервером с помощью сторонней панели управления, которая настраивает различные службы или приложения с нестандартными разрешениями.

Без настроенного для них правила logrotate сервер почти заполнил свой диск, но после удаления журналов и перезапуска службы dovecot: входящая почта не доставлялась, несмотря на то, что файлы журналов изначально создавались ОК! (Мне не нужно было touch файлы).

Я не заметил этой проблемы до тех пор, пока не пришло тестовое электронное письмо, отправленное после первого перезапуска голубятни. Однако впоследствии я получил уведомление о задержке сообщения на мою отправляющую тестовую учетную запись, содержащее сообщение об ошибке dovecot.log с сервера.

Я впервые побежал ps aux | grep dovecot для идентификации запущенного пользователя - он указал, что некоторые процессы работают как root но другие работают как mail.

На сервере dovecot.conf, для всех service декларации он также имел user = mail и group = mail линий.

Итак, я запустил (либо как root, либо с помощью sudo)

chown mail:mail /var/log/dovecot*.log

затем побежал service dovecot restart

и электронные письма снова начали поступать. NB, что на этом конкретном компьютере dovecot.log перезапускает только зарегистрированную службу, поскольку она была настроена на подробное ведение журнала; вся остальная информация хранится в dovecot-info.log и dovecot-debug.log.

Я мог видеть приходящие и отправляемые электронные письма, отслеживая журнал почты:

tail -fn 100 /var/log/maillog (это можно назвать как-то вроде mail.log для тебя).

Обратите внимание, что это сообщение can't write to log directory /var/log Из вашего сообщения неясно, изменили ли вы разрешения на / var / log или на /var/log/dovecot.log.

/ var / log обычно принадлежит пользователю root с правами 755. Предполагается, что dovecot запускается от имени root:

Normally Dovecot logs everything through its master process, which is running as root.

из голубятни Вики по местному агенту доставки.

Все это заставляет меня подозревать, что вы каким-то образом запускаете dovecot как другой пользователь без полномочий root. Пожалуйста, предоставьте информацию о том, как именно вы запускаете dovecot. Обычно это делается с помощью сценария запуска системы (от имени пользователя root). В качестве альтернативы вы можете попробовать запустить dovecot из командной строки как root с

sudo /usr/sbin/dovecot

и посмотрите, работает ли это. Это только для устранения неполадок, вам нужно запускать его автоматически с помощью сценария запуска системы.

Конечно, вы можете продолжать попытки решить эту проблему, и я уверен, что вы это сделаете, но в таких случаях, когда все идет не так, самый быстрый (не лучший) способ - это:

yum remove dovecot
yum install dovecot

Готово;)