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

Проблема с DKIM / Postfix / Debian: Postfix не может подключиться к сокету opendkim

Установка: Debian 10, postfix 3.4.7 и opendkim 2.11 (оба установлены из репозиториев Debian).

Я выполнил инструкции Debian на https://wiki.debian.org/opendkim

Похоже, виновата розетка. В /var/log/mail.log, Я получаю сообщение об ошибке:

Dec 27 ···· postfix/smtpd[1153]: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory

В инструкциях Debian это упоминается, и они просто говорят: «дважды проверьте разрешения».

$ ls -lhd /var/run/opendkim/
drwxr-x--- 2 opendkim opendkim 80 Dec 27 17:20 /var/run/opendkim/

$ sudo ls -lh /var/run/opendkim/
total 4.0K
-rw-rw---- 1 root     root     5 Dec 27 17:20 opendkim.pid
srwxrwx--- 1 opendkim opendkim 0 Dec 27 17:20 opendkim.sock

$ groups postfix
postfix : postfix opendkim

Postfix, похоже, работает в режиме chroot (я не уверен, как сказать наверняка). Я вижу кучу каталогов внутри /var/spool/postfix:

$ ls /var/spool/postfix/
active  corrupt  deferred  etc    hold      lib       pid      public  trace  var
bounce  defer    dev       flush  incoming  maildrop  private  saved   usr

Включая /var/spool/postfix/var/run/opendkim (за исключением того, что этот каталог кажется пустым):

$ ls -lhd /var/spool/postfix/var/run/opendkim/
drwx--x--- 2 opendkim opendkim 4.0K Dec 27 16:25 /var/spool/postfix/var/run/opendkim/

$ sudo ls -lh /var/spool/postfix/var/run/opendkim/
total 0

[РЕДАКТИРОВАТЬ]:

Забыл добавить - соответствующие разделы конфигурационных файлов следующие:

Постфикс:

smtpd_milters = inet:localhost:2525 unix:/var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/var/run/opendkim/opendkim.sock
milter_default_action = accept
milter_protocol = 6

(localhost: 2525 - это спам-фильтр, который я закодировал сам. Кажется, он работает, так как добавляет поле в заголовок сообщения)

opendkim:

Socket          local:/var/run/opendkim/opendkim.sock

[КОНЕЦ РЕДАКТИРОВАНИЯ]

Вы видите то, что мне не хватает? Есть предложения, что попробовать или проверить?

Вы практически сами нашли решение: поскольку постфикс chroot'ed, а opendkim нет, вы должны поместить сокет opendkim в chroot postfix:

Socket          local:/var/spool/postfix/var/run/opendkim/opendkim.sock