Puncte:0

Nu se poate deschide fișierul PID /run/opendkim/opendkim.pid (încă?) după pornire: operațiunea nu este permisă

drapel va

Am aproximativ 2 ore la configurarea dkim cu postfix pe ubuntu 20.04. Încerc absolut totul, dar dkim nu merge.

OpenDKIM-Service nu pornește:

root@mail:~# starea serviciului opendkim
â opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter
     Încărcat: încărcat (/lib/systemd/system/opendkim.service; activat; prestabilit furnizor: activat)
     Activ: se activează (începe) din sâmb. 2022-01-08 19:39:15 CET; acum 59 de ani
       Documente: man:opendkim(8)
             man:opendkim.conf(5)
             om:opendkim-genkey(8)
             om:opendkim-genzone(8)
             om:opendkim-testadsp(8)
             om:opendkim-testkey
             http://www.opendkim.org/docs.html
    Proces: 62335 ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf (code=exit, status=0/SUCCESS)
      Sarcini: 7 (limită: 19660)
     Memorie: 2,7 M
     CGroup: /system.slice/opendkim.service
             ââ62336 /usr/sbin/opendkim -x /etc/opendkim.conf
             ââ62337 /usr/sbin/opendkim -x /etc/opendkim.conf

08 ianuarie 19:39:15 mail.mydomain.de systemd[1]: Se pornește OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
08 ianuarie 19:39:15 mail.mydomain.de systemd[1]: opendkim.service: Nu se poate deschide fișierul PID /run/opendkim/opendkim.pid (încă?) după pornire: Operațiunea nu este permisă
08 ianuarie 19:39:15 mail.mydomain.de opendkim[62337]: Începe filtrul OpenDKIM v2.11.0 (args: -x /etc/opendkim.conf)
07 ianuarie 13:32:59 mail.mydomain.de systemd[1]: Se pornește OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
07 ianuarie 13:32:59 mail.mydomain.de systemd[1]: A pornit OpenDKIM DomainKeys Identified Mail (DKIM) Milter.
07 ianuarie 13:32:59 mail.mydomain.de opendkim[275965]: Începe filtrul OpenDKIM v2.11.0 (args: -x /etc/opendkim.conf)
08 ian 10:35:44 mail.mydomain.de systemd[1]: Oprirea aplicației OpenDKIM DomainKeys Identified Mail (DKIM) Milter...
08 ianuarie 10:35:50 mail.mydomain.de systemd[1]: opendkim.service: Reușit.
08 ianuarie 10:35:50 mail.mydomain.de systemd[1]: S-a oprit OpenDKIM DomainKeys Identified Mail (DKIM) Milter.

Iată /etc/opendkim.conf meu:

# Aceasta este o configurație de bază care poate fi ușor adaptată pentru a se potrivi unui standard
# instalare. Pentru opțiuni mai avansate, consultați opendkim.conf(5) și/sau
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.

# Conectați-vă la syslog
Syslog da
# Necesar pentru a utiliza socket-ul local cu MTA-uri care accesează socket-ul ca non-
# utilizator privilegiat (de exemplu, Postfix)
UMask 002

# Semnează de exemplu.com cu cheia în /etc/dkimkeys/dkim.key folosind
# selector „2007” (de exemplu, 2007._domainkey.example.com)
#Domain example.com
#KeyFile /etc/dkimkeys/dkim.key
#Selector 2007

# Opțiuni utilizate în mod obișnuit; versiunile comentate arată valorile implicite.
Canonizare simplă
Mod sv
Subdomeniile nr
Repornire automată da
Rata de repornire automată 10/1M
Fundal da
DNSTimeout 5
Algoritmul semnăturii rsa-sha256

# Suprasemnați întotdeauna De la (semnați folosind De la real și un De la nul pentru a preveni
# câmpuri de antet semnături rău intenționate (De la și/sau altele) între semnatar
# și verificatorul. From este suprasemnat în mod implicit în pachetul Debian
# pentru că este adesea cheia de identitate folosită de sistemele de reputație și astfel
# oarecum sensibil la securitate.
OversignHeaders De la

## Nume fișier ResolverConfiguration
## implicit (niciunul)
##
## Specifică un fișier de configurare care va fi transmis bibliotecii Unbound care
## efectuează interogări DNS aplicând protocolul DNSSEC. Vedeți Unbound
## documentație la http://unbound.net pentru conținutul așteptat al acestui fișier.
## Rezultatele utilizării acesteia și a setării TrustAnchorFile în același timp
## orele sunt nedefinite.
## În Debian, /etc/unbound/unbound.conf este livrat ca parte a Sugested
## pachet nelegat

# ResolverConfiguration /etc/unbound/unbound.conf

## TrustAnchorFile nume de fișier
## implicit (niciunul)
##
## Specifică un fișier din care datele de ancorare de încredere ar trebui să fie citite atunci când se face
## Interogări DNS și aplicarea protocolului DNSSEC. Consultați documentația Unbound
## la http://unbound.net pentru formatul așteptat al acestui fișier.

TrustAnchorFile /usr/share/dns/root.key

Utilizator #OpenDKIM
# Nu uitați să adăugați postfix utilizator la grupul opendkim
ID utilizator opendkim

# Hartați domeniile în De la adrese la cheile utilizate pentru semnarea mesajelor
KeyTable refile:/etc/opendkim/key.table
SigningTable refile:/etc/opendkim/signing.table

# Gazde de ignorat la verificarea semnăturilor
ExternalIgnoreList /etc/opendkim/trusted.hosts

# Un set de gazde interne a căror e-mail ar trebui să fie semnată
InternalHosts /etc/opendkim/trusted.hosts

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

Aici este /etc/default/opendkim.conf meu

# Opțiunile de linie de comandă specificate aici vor suprascrie conținutul
# /etc/opendkim.conf. Consultați opendkim(8) pentru o listă completă de opțiuni.
#DAEMON_OPTS=""
#
# Anulați comentariile pentru a specifica o priză alternativă
# Rețineți că setarea acestui lucru va suprascrie orice valoare Socket din opendkim.conf
# Mod implicit:
SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"
# ascultați pe toate interfețele de pe portul 54321:
#SOCKET="inet:54321"
# ascultați în loopback pe portul 12345:
#SOCKET="inet:12345@localhost"
# asculta pe 192.0.2.1 pe portul 12345:
#SOCKET="inet:[email protected]"

Aici este maestrul meu.cf:

#
# Fișierul de configurare a procesului principal Postfix. Pentru detalii despre format
# din fișier, consultați pagina de manual master(5) (comandă: „man 5 master” sau
# on-line: http://www.postfix.org/master.5.html).
#
# Nu uitați să executați „postfix reload” după editarea acestui fișier.
#
# =================================================== ==========================
# tip de serviciu private unpriv chroot wakeup maxproc command + args
# (da) (da) (nu) (niciodată) (100)
# =================================================== ==========================
smtp inet n - y - - smtpd
#smtp inet n - y - 1 postscreen
#smtpd trece - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
depunerea inet n - y - - smtpd
  -o smtpd_enforce_tls=da
  -o smtpd_sasl_auth_enable=da
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=criptare
# -o smtpd_sasl_auth_enable=da
# -o smtpd_tls_auth_only=da
# -o smtpd_reject_unlisted_recipient=nu
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINARE
#smtps inet n - y - - smtpd
# -o syslog_name=postfix/smtps
# -o smtpd_tls_wrappermode=da
# -o smtpd_sasl_auth_enable=da
# -o smtpd_reject_unlisted_recipient=nu
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINARE
#628 inet n - y - - qmqpd
pickup unix n - y 60 1 pickup
curatare unix n - y - 0 curatare
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rescrie unix - - y - - trivial-rescriere
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 săritură
verifica unix - - y - 1 verifica
spălați Unix n - y 1000? 0 culoare
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
releu unix - - y - - smtp
        -o syslog_name=postfix/$service_name
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
eroare unix - - y - - eroare
reîncercați Unix - - y - - eroare
arunca unix - - y - - arunca
unix local - n n - - local
unix virtual - n n - - virtual
lmtp unix - - y - - lmtp
nicovală unix - - y - 1 nicovală
scache unix - - y - 1 scache
postlog unix-dgram n - n - 1 postlogd
#
# =================================================== ====================
# Interfețe cu software non-Postfix. Asigurați-vă că examinați manualul
# de pagini ale software-ului non-Postfix pentru a afla ce opțiuni dorește.
#
# Multe dintre următoarele servicii utilizează livrarea Postfix pipe(8).
# agent. Consultați pagina de manual pipe(8) pentru informații despre ${recipient}
# și alte opțiuni pentru plicuri pentru mesaje.
# =================================================== ====================
#
# maildrop. Consultați fișierul Postfix MAILDROP_README pentru detalii.
# Specificați, de asemenea, în main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# =================================================== ====================
#
# Versiunile recente de Cyrus pot folosi intrarea existentă „lmtp” master.cf.
#
# Specificați în cyrus.conf:
# lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specificați în main.cf una sau mai multe dintre următoarele:
# mailbox_transport = lmtp:inet:localhost
# virtual_transport = lmtp:inet:localhost
#
# =================================================== ====================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Specificați și în main.cf: cyrus_destination_recipient_limit=1
#
#cyrus unix - n n - - pipe
# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# =================================================== ====================
# Exemplu vechi de livrare prin Cyrus.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# =================================================== ====================
#
# Consultați fișierul Postfix UUCP_README pentru detalii de configurare.
#
uucp unix - n n - - conductă
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($destinatar)
#
# Alte metode de livrare externă.
#
ifmail unix - n n - - pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($destinatar)
bsmtp unix - n n - - conductă
  steaguri=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $destinatar
scalemail-backend unix - n n - 2 conducte
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

smtps inet n - y - - smtpd
    -o smtpd_tls_wrappermode=da  

Iată /etc/postfix/main.cf meu:

# Consultați /usr/share/postfix/main.cf.dist pentru o versiune comentată, mai completă


# Specific Debian: Specificarea unui nume de fișier va provoca primul
# rând din acel fișier care va fi folosit ca nume. Valoarea implicită Debian
# este /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP 
myhostname = mail.mydomain.de
biff = nu

# atașarea domeniului .este treaba MUA.
append_dot_mydomain = nr

# Anulați comentariile următoarei rânduri pentru a genera avertismente „e-mail întârziat”.
#delay_warning_time = 4h

readme_directory = nr

# Consultați http://www.postfix.org/COMPATIBILITY_README.html -- implicit la 2 pe
# instalări noi.
compatibility_level = 2
limită_dimensiunea mesajului = 10240000

# Parametri TLS
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=mai

smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=mai
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_non_fqdn_sender
# Configurația milter
milter_default_action = accept
milter_protocol = 6
smtpd_milters = local:opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated
rețelele mele = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost =
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
mailbox_command = procmail -a „$EXTENSION”
cutie_poștală_size_limit = 0
destinatar_delimiter = +
inet_interfaces = all
inet_protocols = all

#personalizat pentru kopano
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_maps = mysql:/etc/postfix/mysql-users.cf
virtual_transport = lmtp:[localhost]:2003
virtual_mailbox_domains = mydomain1.de, mydomain2.de
#

smtpd_tls_ciphers = mediu
smtpd_tls_mandatory_ciphers = mediu
tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHACHA256-GCM-SHACHA384:-ECDSA-SHA256-GCM-SHA384 ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
smtpd_tls_mandatory_protocols = TLSv1.2
smtpd_tls_protocols = TLSv1.2
smtpd_tls_security_level = mai
smtp_tls_security_level = mai
smtp_use_tls = nr


smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_rbl_client zen.spamhaus.org
smtp_send_xforward_command = da
smtpd_authorized_xforward_hosts = 127.0.0.0/8 [::1]/128
smtpd_sasl_auth_enable = nr
virtual_mailbox_base = /var/qmail/mailnames
virtual_uid_maps = static:30
virtual_gid_maps = static:31
pepoluan avatar
drapel tr
Deoarece nu rulează încă, puteți verifica dacă `/run/opendkim/opendkim.pid` există și cine îl deține?
nils50122 avatar
drapel va
Fișierul nu există. Încerc, de asemenea, să creez fișierul pe cale manuală cu proprietar de la 0644 opendkim:opendkim. Dar fără succes.
drapel us
Mesajul „Nu se poate deschide fișierul PID /run/opendkim/opendkim.pid (încă?) după pornire: operațiunea nu este permisă” poate apărea și într-o setare care funcționează corect. Este un lucru de sistem, dar nu o problemă, îl puteți ignora.
nils50122 avatar
drapel va
ai dreptate, acum opendkim trimite o semnătură validă dkim pentru e-mailurile trimise. Poate că are nevoie de ceva timp...
Puncte:0
drapel ru

Vad aceeasi problema. Nu am destulă reputație pentru a lăsa un comentariu, așa că lăsarea unei observații nu chiar un răspuns care ar putea ajuta la un răspuns mai bun. In speranta.

crearea fișierului a ajutat la pornirea opendkim. atingeți /run/opendkim/opendkim.pid

Apoi am descoperit că trebuie să schimbați dreptul de proprietate asupra fișierului în care tocmai am făcut întregul folder. chown -R opendkim /run/opedkim

Cred că problema începe acolo prin faptul că fișierul își schimbă proprietarul înapoi la root și data viitoare când procesul este pornit, primesc aceeași eroare.

systemd[1]: opendkim.service: Nu se poate deschide fișierul PID /run/opendkim.pid (încă?) după pornire: operațiunea nu este permisă

Deci, de cele mai multe ori arată ca o problemă de proprietate și înainte de aceasta, un fișier nu există o problemă.

Încă investighez și încă se pare că am o problemă cu priza local:/var/spool/postfix/opendkim/opendkim.sock nu este creat și apoi postfix se plânge chiar dacă opendkim rulează. Deci, este o problemă cu două straturi cu care mă confrunt, dar m-am gândit să adaug observația mea.

Oh, și folosesc Debian

După mai multe investigații și citirea comentariilor de mai sus, sunt, de asemenea, convins că aceasta este o non-eroare care poate fi ignorată.

Puncte:0
drapel de

Îți rulezi postfixul într-un chroot:

SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"

Dar systemd încearcă să verifice

/run/opendkim/opendkim.pid

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.