J'ai un problème avec postfix sur Debian après la mise à niveau de Squeeze vers Wheezy. Postfix a été configuré pour signer des messages à l'aide de dkim-filter. Avant la mise à jour, tout fonctionnait parfaitement, maintenant il échoue lors de la connexion avec le service (sockets TCP ou UNIX). Je pensais que c'était peut-être à cause du passage de Debian à opendkim, j'ai donc supprimé dkim-filter et installé opendkim - même problème. J'ai même essayé de définir la connexion de socket de fichier Unix au lieu de l'option tcp - même problème:
postfix/smtpd: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory
ou (avec tcp/ip):
postfix/cleanup: warning: connect to Milter service inet:localhost:8891: Connection refused
J'ai vérifié deux fois - le fichier socket existe et le service écoutait sur le port 8891.
Que puis-je faire pour résoudre ce problème?
Avez-vous configuré opendkim? Le fichier de configuration est /etc/opendkim.conf
.
Vous devez mettre à jour le fichier pour qu'il corresponde à votre site/domaine et dkim.key chemin.
Ajouter le suffixe au groupe opendkim
Si l'autorisation opendkim.sock est la suivante
$ ls -l /var/run/opendkim▶ .____. srwxrwxr-x 1 opendkim opendkim 0 2 mai 14:56 opendkim.sock
Sinon, assurez-vous que UMask
est défini sur 0002
dans /etc/opendkim.conf
.
Ensuite, procédez comme suit
Sudo adduser postfix opendkim
Postfix s'exécutant dans chroot
Modifier /etc/default/opendkim
, changez SOCKET option pour postfixer l'emplacement du chroot
SOCKET = "local: /var/spool/postfix/var/run/opendkim/opendkim.sock"
Vous devrez créer le répertoire /var/spool/postfix/var/run/opendkim
et modifier son autorisation
Sudo mkdir -p /var/spool/postfix/var/run/opendkim[.____..
Redémarrez opendkim
Sudo service opendkim restart
Résumé rapide qui m'a aidé à corriger cet avertissement sur Ubuntu 16.04 LTS: Postfix version 3.1.0-3ubuntu0.2 Opendkim version 2.10.3-3build1
(Je suppose que Postfix et Opendkim sont déjà installés, intégrés l'un à l'autre et le seul avertissement que vous obtenez est `` se connecter au service Milter local: /var/spool/postfix/opendkim/opendkim.sock: aucun fichier ou répertoire '')
Ajouter le suffixe utilisateur au groupe opendkim (ignorer si déjà fait)
Sudo adduser postfix opendkim
Sudo mkdir -p/var/spool/postfix/var/run/opendkim
Sudend chown opendkim: opendkim/var/spool/postfix/var/run/opendkim
ls -l/var/spool/postfix/var/run/opendkim
srwxrwxr-x 1 opendkim opendkim 0 Nov 12 14:34 opendkim.sock
Socket local: /var/spool/postfix/var/run/opendkim/opendkim.sock
/ etc/defaults/opendkim, ajoutez
SOCKET = "local: /var/spool/postfix/var/run/opendkim/opendkim.sock"
# Milter configuration # Postfix ≥ 2.6 milter_protocol = 6, Postfix ≤ 2.5 milter_protocol = 2 milter_protocol = 6 milter_default_action = accept smtpd_milters = unix:var/run/opendkim/opendkim.sock non_smtpd_milters = unix:var/run/opendkim/opendkim.sock
systemctl restart opendkim
systemctl restart postfix
C'est ça. Je ne sais pas pourquoi il faut écrire
smtpd_milters = unix: var/run/opendkim/opendkim.sock
au lieu de
smtpd_milters = local: /var/spool/postfix/var/run/opendkim/opendkim.sock
. Si quelqu'un le sait, les explications sont les bienvenues.
J'étais confronté au même problème sur Debian Stretch, qui s'est avéré être causé par un fichier de service systemd cassé pour opendkim. Voir cette réponse pour une solution: https://serverfault.com/a/847442/84962
Cette correction se résume à:
/lib/opendkim/opendkim.service.generate
systemctl daemon-reload
service opendkim restart
smtpd_milters = unix:var/run/opendkim/opendkim.sock, unix:var/run/opendmarc/opendmarc.sock
non_smtpd_milters = unix:var/run/opendkim/opendkim.sock, unix:var/run/opendmarc/opendmarc.sock
usermod -G opendkim,opendmarc
Une alternative serait de désactiver le chroot
, ceci a des implications de sécurité:
vi /etc/postfix/master.cf
# service type private unpriv chroot wakeup maxproc command + args
cleanup unix n - n - 0 cleanup
Les avertissements indiquent postfix/cleanup
, vous pouvez donc désactiver le chroot pour ce service.
se connecter au service Milter avec erreur:
unix:/clamav/clamav-milter.ctl: Permission denied
Ce fichier:
ls -l /var/spool/postfix/clamav
srw-rw---- 1 clamav clamav 0 Apr 4 17:59 clamav-milter.ctl
montre:
user clamav
MilterSocketGroup postfix
MilterSocketMode 660
autorisations utilisateur pour le milter
chown postfix:postfix /var/spool/postfix/clamav/clamav-milter.ctl
Travaille pour moi
J'ai eu un problème car OpenDKIM et Postfix fonctionnent avec les droits de différents utilisateurs et écrivent et lisent à partir du même socket.
J'ai ajouté l'utilisateur postfix au groupe opendkim:
Sudo usermod -a -G opendkim postfix