postfix / smtpd : 경고 : Milter 서비스 Unix에 연결 : /var/run/opendkim/opendkim.sock : 해당 파일 또는 디렉토리가 없습니다.


36

짜기에서 wheezy로 업그레이드 한 후 데비안에서 postfix에 문제가 있습니다. Postfix는 dkim-filter를 사용하여 메시지에 서명하도록 구성되었습니다. 업데이트하기 전에 모든 것이 완벽하게 작동하여 이제 서비스 연결 (tcp 또는 unix 소켓)에서 실패합니다. 데비안이 opendkim으로 전환했기 때문에 dkim-filter를 제거하고 opendkim을 설치했습니다. 심지어 tcp 옵션 대신 유닉스 파일 소켓 연결을 설정하려고 시도했습니다. 동일한 문제 :

postfix/smtpd: warning: connect to Milter service unix:/var/run/opendkim/opendkim.sock: No such file or directory

또는 (tcp / ip 사용) :

postfix/cleanup: warning: connect to Milter service inet:localhost:8891: Connection refused

소켓 파일이 존재하고 서비스가 포트 8891에서 수신 대기 중입니다.

이 문제를 해결하려면 어떻게해야합니까?

답변:


58
  1. opendkim이 실행 중인지 확인하십시오. (소켓 파일을 본 것으로 가정합니다.)
  2. opendkim을 구성 했습니까? 구성 파일은 /etc/opendkim.conf입니다.

    사이트 / 도메인 및 dkim.key 경로 와 일치하도록 파일을 업데이트해야 합니다.

  3. opendkim 그룹에 접미사 추가

    opendkim.sock 권한이 다음과 같은 경우

    $ ls -l / var / run / opendkim
    
    -rw-rw-r-- 1 개의 opendkim opendkim 5 월 2 일 14:56 opendkim.pid
    srwxrwxr-x 1 opendkim opendkim 0 5 월 2 일 14:56 opendkim.sock
    

    그렇지 않을 경우, 확인 UMask으로 설정되어 0002에서 /etc/opendkim.conf.

    그런 다음 다음을 수행하십시오

    sudo adduser postfix opendkim
  4. chroot에서 실행되는 접미사

    수정 /etc/default/opendkim, SOCKET 옵션을 chfix chpost 위치로 변경

    SOCKET = "로컬 : /var/spool/postfix/var/run/opendkim/opendkim.sock"

    디렉토리를 작성 /var/spool/postfix/var/run/opendkim하고 권한을 변경해야합니다

    sudo mkdir -p / var / spool / postfix / var / run / opendkim
    sudo chown opendkim : opendkim / var / spool / postfix / var / run / opendkim
    
  5. opendkim을 다시 시작하십시오.

    sudo 서비스 opendkim 재시작
    

4
opendkim 디렉토리에 대한 지나치게 제한적인 권한으로 인해 비슷한 문제가 발견되었습니다.
Darrell Duane

1
이전에 opendkim을 사용하고 있다고 확신하지만 Ubuntu 15.04에서 15.10으로 업그레이드 한 후에는 작동하지 않는 것으로 나타났습니다. 소켓 경로를 /etc/default/opendkim이미 정의한 것과 동일한 경로로 업데이트 /etc/opendkim.conf했습니다. 감사!
Haprog

내 문제는 chroot에서 postfix를 실행 중이고 유닉스 소켓을 사용하고 있다는 것입니다. 당신이 볼 경우 No such file or directory평균 후위는하지만, 경로를 찾을 수 그것은 소켓을 찾았다 내부의 / var / 스풀 / 후위는 / var / 실행 / opendkim /하지의 / var / 실행 / opendkim
HVNSweeting

@HVNSweeting (4)에서 다루지 않습니까?
John Siu

그것은 왜 새로운 답변을 만드는 대신 의견을 제시하고 찬성했습니다. 질문에 opendkim이 올바르게 구성되면 TCP 소켓이 작동하기 때문에 많은 문제가 있습니다. 감사합니다
HVNSweeting

11

Ubuntu 16.04 LTS : Postfix 버전 3.1.0-3ubuntu0.2 Opendkim 버전 2.10.3-3build1에서이 경고를 해결하는 데 도움이되는 간단한 요약

  • (Postfix와 Opendkim이 이미 설치되어 서로 통합되어 있다고 가정하고 유일한 경고는 'Milter 서비스 로컬에 연결 : / var / spool / postfix / opendkim / opendkim.sock : 해당 파일이나 디렉토리가 없습니다')

  • opendkim 그룹에 사용자 접미사 추가 (이미 완료된 경우 건너 뛰기)

sudo adduser postfix opendkim

  • 디렉토리 생성 및 소유자 설정 (이미 완료된 경우 건너 뛰기)

sudo mkdir -p / var / spool / postfix / var / run / opendkim

sudo 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
  • opendkim 구성 파일을 편집하십시오. /etc/opendkim.conf, 라인 추가

소켓 로컬 : /var/spool/postfix/var/run/opendkim/opendkim.sock

/ etc / defaults / opendkim, 추가

SOCKET = "로컬 : /var/spool/postfix/var/run/opendkim/opendkim.sock"

  • 접미사 구성 편집 : /etc/postfix/main.cf
# 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 restartddkim

systemctl 재시작 접미사

그게 다야. 왜 글을 써야하는지 모르겠습니다

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

대신에

smtpd_milters = 로컬 : /var/spool/postfix/var/run/opendkim/opendkim.sock

. 누군가가 알고 있다면 설명을 환영합니다.


2
postfix가 CHROOT와 함께 실행되면 구성 경로는 해당 경로와 관련이 있습니다. 당신은 postfix로 해결하려고 노력할 것입니다 /var/spool/postfix/var/spool/postfix/var/run/opendkim/opendkim.sock
어둡게

5

데비안 스트레치에서 똑같은 문제에 직면했습니다 .opendkim에 대한 시스템 서비스 파일이 손상되어 발생했습니다. 해결책은 다음 답변을 참조하십시오 : https://serverfault.com/a/847442/84962

이 수정은 다음과 같이 요약됩니다.

/lib/opendkim/opendkim.service.generate
systemctl daemon-reload
service opendkim restart

1
나는이 조언 만 도움이되었지만 다른 모든 것이 작동하지 않는 우분투 시스템을 가지고 있습니다.
silpol

나는 16.04를 실행하고 /lib/opendkim/opendkim.service.generate가 존재하지 않습니다
Laurent

우분투 18.04에서 잘 작동하십시오. 고맙습니다.
Duque

이것은 데비안 9에서 내 문제를 해결했다.
jchook

2
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

5
이것이 어떻게 그리고 질문에 대답하는지에 대한 설명이 포함되어 있다면 훨씬 더 나은 대답이 될 것 입니다.
Stephen Rauch

3
유닉스 및 리눅스에 오신 것을 환영합니다! 이 코드 스 니펫은 문제를 해결할 수 있지만 설명을 포함하면 게시물의 품질을 향상시키는 데 실제로 도움이됩니다 . 지금 질문하는 사람뿐만 아니라 앞으로 독자들에게 질문에 대답하고 있음을 기억하십시오! 제발 편집 설명을 추가하고, 제한 및 가정이 적용 무엇의 표시를 제공하는 답변을.
Toby Speight

1

다른 방법은를 비활성화하는 것입니다 chroot. 보안에 영향을 미칩니다.

vi /etc/postfix/master.cf

# service type  private unpriv  chroot  wakeup  maxproc command + args
cleanup   unix  n       -       n       -       0       cleanup

경고 postfix/cleanup가 표시되므로이 서비스에 대한 chroot를 비활성화 할 수 있습니다.


0

Milter 서비스 Unix에 연결 : /clamav/clamav-milter.ctl : 권한이 거부되었습니다

ls -l / var / spool / postfix / clamav srw-rw ---- 1 clamav clamav 0 4 월 4 일 17:59 clamav-milter.ctl

clamav-milter.conf

사용자 clamav MilterSocketGroup 접미사 MilterSocketMode 660

밀터에 대한 사용자 권한

chown 접미사 : postfix /var/spool/postfix/clamav/clamav-milter.ctl

나를 위해 작동


0

OpenDKIM과 Postfix가 다른 사용자의 권한으로 작동하고 동일한 소켓에서 쓰고 읽기 때문에 문제가 발생했습니다.

opendkim 그룹에 postfix 사용자를 추가했습니다.

sudo usermod -a -G opendkim postfix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.