Вопрос или проблема
Я получаю следующие ошибки в логах, хотя пользователя “apply” нет в файле /etc/dovecot/users.
Я не уверен, что делать дальше для диагностики. Может кто-нибудь посоветовать? Говорится, что ‘обратитесь к серверному журналу за дополнительной информацией’, но разве это не серверный журнал?
May 1 22:40:44 ip-xx-xxx-xx-xx postfix/local[18901]: 1B17763738: to=<apply@localhost>, orig_to=<[email protected]>, relay=local, delay=147501, delays=147501/0.54/0/0.06, dsn=4.3.0, status=deferred (temporary failure)
May 1 22:40:44 ip-xx-xxx-xx-xx dovecot: lda(apply): Error: user apply: Initialization failed: Namespace '': mkdir(/home/vmail//apply) failed: Permission denied (euid=1001(apply) egid=1001(apply) missing +w perm: /home/vmail/, dir owned by 5000:5000 mode=0755)
May 1 22:40:44 ip-xx-xxx-xx-xx dovecot: lda(apply): Error: user apply: Initialization failed: Namespace '': mkdir(/home/vmail//apply) failed: Permission denied (euid=1001(apply) egid=1001(apply) missing +w perm: /home/vmail/, dir owned by 5000:5000 mode=0755)
May 1 22:40:44 ip-xx-xxx-xx-xx dovecot: lda(apply): Fatal: Invalid user settings. Refer to server log for more information.
May 1 22:40:44 ip-xx-xxx-xx-xx dovecot: lda(apply): Fatal: Invalid user settings. Refer to server log for more information.
May 1 22:40:44 ip-xx-xxx-xx-xx postfix/local[18926]: 9E5376357A: to=<apply@localhost>, orig_to=<[email protected]>, relay=local, delay=235638, delays=235637/0.6/0/0.06, dsn=4.3.0, status=deferred (temporary failure)
May 1 22:40:44 ip-xx-xxx-xx-xx postfix/local[18908]: 252106364B: to=<apply@localhost>, orig_to=<[email protected]>, relay=local, delay=218930, delays=218929/0.6/0/0.06, dsn=4.3.0, status=deferred (temporary failure)
May 1 22:40:44 ip-xx-xxx-xx-xx dovecot: lda(apply): Error: user apply: Initialization failed: Namespace '': mkdir(/home/vmail//apply) failed: Permission denied (euid=1001(apply) egid=1001(apply) missing +w perm: /home/vmail/, dir owned by 5000:5000 mode=0755)
May 1 22:40:44 ip-xx-xxx-xx-xx dovecot: lda(apply): Fatal: Invalid user settings. Refer to server log for more information.
May 1 22:40:44 ip-xx-xxx-xx-xx postfix/local[18900]: 9A94063274: to=<apply@localhost>, orig_to=<[email protected]>, relay=local, delay=306900, delays=306900/0.66/0/0.03, dsn=4.3.0, status=deferred (temporary failure)
May 1 22:41:23 ip-xx-xxx-xx-xx dovecot: pop3-login: Login: user=<[email protected]>, method=PLAIN, rip=101.103.174.186, lip=10.172.21.51, mpid=18952, session=<mc9XXV74CwBlZ666>
May 1 22:41:24 ip-xx-xxx-xx-xx dovecot: pop3([email protected]): Disconnected: Logged out top=0/0, retr=0/0, del=0/424, size=57179196
[/var/log]
Ваш каталог /home/vmail/
принадлежит '5000'
из группы '5000'
, но процесс lda
запускается от пользователя 'apply' (UID 1001)
.
Измените владельца /home/vmail/ на пользователя ‘apply’:
chown apply:apply -R /home/vmail/
Далее попытайтесь снова доставить:
postqueue -f
Сервис Dovecot пытается использовать папку Maildir в директории пользователя “apply”, но это не удается. Чтобы просто решить эту проблему, отредактируйте файл /etc/aliases В этот файл можно ввести соответствующий алиас:
apply: [email protected]
Я использовал почтмейстера как пример, но вы можете использовать любой адрес электронной почты, по которому нужно доставить.
После сохранения файла его необходимо преобразовать в двоичную форму и перезапустить соответствующие службы:
newaliases
Service dovecot restart
Service postfix restart
.
Ответ или решение
Для решения проблемы с ошибкой "Permission denied" в логах Dovecot, следует выполнить несколько диагностических и исправительных шагов. Во-первых, важно понимать, что ошибка связана с невозможностью создания директории для пользователя "apply" в папке /home/vmail/
. Причиной данной проблемы являются настройки разрешений, которые препятствуют доступу.
Анализ проблемы:
-
Пользователь и группы:
Логи указывают, что сервисlda
Dovecot, который выполняется от имени пользователяapply
(UID 1001), пытается создать директорию в/home/vmail/
. Однако, текущий владелец этой директории имеет UID 5000 и GID 5000 с разрешениями 0755, что не позволяет другим пользователям, включаяapply
, вносить изменения. -
Отсутствие пользователя в
/etc/dovecot/users
:
Хотя у вас нет пользователя "apply" в указанном файле, возможно, он может быть необходим Dovecot по другим причинам, например, по настройкам других конфигурационных файлов, таких как/etc/dovecot/virtual
,/etc/aliases
и прочие источники.
Решение:
-
Изменение владельца директории:
Если пользовательapply
должен иметь доступ к директории, необходимо изменить владельца/home/vmail/
командой:chown apply:apply -R /home/vmail/
Это гарантирует, что пользователь
apply
сможет создать необходимые директории. -
Настройка
aliases
:
Проверьте и обновите файл/etc/aliases
для корректного перенаправления почты:apply: [email protected]
Это гарантирует, что почта, адресованная ‘apply@localhost’, будет перенаправлена на адрес, который Вы укажете.
-
Перекомпиляция
aliases
и перезапуск сервисов:
После обновления файла/etc/aliases
, выполните:newaliases systemctl restart dovecot systemctl restart postfix
Это обновит бинарную версию алиасов и перезапустит необходимые сервисы для применения изменений.
-
Очистка очереди почты:
После исправления разрешений и обновления конфигурации выполните:postqueue -f
Это позволит повторно обработать и доставить письма, находящиеся в очереди с ошибками.
Заключение:
Эти шаги помогут устранить проблемы с правами доступа и обеспечат корректную маршрутизацию почты. Если проблема не будет решена, рекомендуется дать более глубокий анализ конфигурации Dovecot и Postfix, а также проверить наличие иных неявных настроек, которые могут влиять на возникновение подобных ошибок.