Postfix не может получить доступ к сокету Opendkim

Вопрос или проблема

У меня есть сервер ubuntu 20.04 и домен example.com. Я установил postfix и opendkim через apt.

В /etc/opendkim.conf у меня указано

Socket local:/run/opendkim/opendkim.sock

Файл существует.

$ ls -l /run/opendkim/opendkim.sock
ls: не удалось получить доступ к '/run/opendkim/opendkim.sock': Отказано в разрешении
$ sudo ls -l /run/opendkim/opendkim.sock
srwxrwx--- 1 opendkim opendkim 0 Oct  4 21:19 /run/opendkim/opendkim.sock

Я добавил postfix в группу opendkim.

$ groups postfix
postfix : postfix opendkim

Я также попробовал перезагрузить с помощью sudo reboot.

Когда я выполняю это

echo "Это тело электронного письма." | mail -s "Тема письма" [email protected]

Но я получил эту ошибку.

Oct 04 23:58:24 ubuntu postfix/cleanup[52998]: 
warning: connect to Milter service local:/run/opendkim/opendkim.sock: Нет такого файла или директории

Я более внимательно посмотрел

$ ps -p 52998 -o pid,comm,user,%cpu,%mem,stime,tty
    PID COMMAND         USER     %CPU %MEM STIME TT
  52998 cleanup         postfix   0.0  0.2 00:00 ?

Пользователь – postfix, и у него должен быть доступ к файлу сокета, но системный журнал говорит “нет”.

Ответ или решение

Проблема с доступом Postfix к сокету OpenDKIM может возникать по нескольким причинам, даже если пользователь Postfix добавлен в группу opendkim, а сокет существует. Давайте поэтапно рассмотрим, как можно решить данную проблему.

Шаг 1: Проверьте права доступа к сокету

Вы уже выполнили команду ls -l /run/opendkim/opendkim.sock, и вывод показывает, что сокет принадлежит группе opendkim. Однако важно убедиться, что права доступа настроены правильно:

srwxrwx--- 1 opendkim opendkim 0 Oct  4 21:19 /run/opendkim/opendkim.sock

Это означает, что только пользователь opendkim и группа opendkim имеют полный доступ к сокету. Чтобы пользователь postfix имел доступ к сокету, необходимо убедиться, что он действительно добавлен в группу opendkim.

Вы можете проверить это с помощью следующей команды:

groups postfix

Если opendkim там есть, мы продолжим, если нет — добавьте пользователя в группу:

sudo usermod -aG opendkim postfix

Не забудьте перезапустить службы Postfix и OpenDKIM после изменения группового доступа:

sudo systemctl restart opendkim
sudo systemctl restart postfix

Шаг 2: Перезапустите систему

Если все еще возникают проблемы, попробуйте выполнить перезагрузку, чтобы убедиться, что изменения вступают в силу:

sudo reboot

Шаг 3: Убедитесь, что OpenDKIM запущен

Убедитесь, что служба OpenDKIM действительно работает и сокет создан. Выполните команду:

sudo systemctl status opendkim

Если служба не запущена, попробуйте запустить её:

sudo systemctl start opendkim

Также убедитесь, что в журнале не отображаются ошибки, связанные с OpenDKIM, как это можно сделать с помощью:

sudo journalctl -u opendkim

Шаг 4: Проверьте настройки Postfix

Убедитесь, что конфигурация Postfix правильно настроена на использование системных мильтеров. В файле /etc/postfix/main.cf проверьте следующие строки:

smtpd_milters = unix:/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/run/opendkim/opendkim.sock

Если эти строки отсутствуют, добавьте их и перезагрузите Postfix.

Шаг 5: Проверьте конфигурацию SELinux/AppArmor

Если у вас включен SELinux или AppArmor, они могут блокировать доступ к сокету. Проверьте, не блокируют ли они доступ Postfix к сокету OpenDKIM. Вы можете временно отключить AppArmor для тестирования следующим образом:

sudo systemctl stop apparmor

Если после этого доступ к сокету заработал, вам нужно будет настроить правила AppArmor.

Заключение

После выполнения всех вышеуказанных шагов, проблема с доступом Postfix к социальной сокету OpenDKIM должна быть решена. Если ошибка продолжает появляться, рекомендуем просмотреть логи как Postfix, так и OpenDKIM для выявления возможных дополнительных проблем.

Оцените материал
Добавить комментарий

Капча загружается...