Я пытаюсь установить 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
Готово;)