No se puede iniciar el servicio opendkim, pero la línea de comando funciona bien

No se puede iniciar el servicio opendkim, pero la línea de comando funciona bien

Buenos días... He leído alrededor de 15 guías diferentes sobre la configuración con DKIM y la firma de Sendmail en ubuntu 18.04 y por alguna razón no puedo iniciar el servicio, pero la línea de comando funciona bien.

/etc/opendkim.conf

AutoRestart             Yes
AutoRestartRate         10/1h
UMask                   002
Syslog                  yes
SyslogSuccess           Yes
LogWhy                  Yes
Canonicalization        relaxed/simple
ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
Mode                    sv
PidFile                 /var/mail/opendkim/opendkim.pid
SignatureAlgorithm      rsa-sha256
UserID                  opendkim:opendkim
Socket                  inet:[email protected]

/etc/default/opendkim

# Command-line options specified here will override the contents of
# /etc/opendkim.conf. See opendkim(8) for a complete list of options.
#DAEMON_OPTS=""
#
# Uncomment to specify an alternate socket
# Note that setting this will override any Socket value in opendkim.conf
# default:
#SOCKET="local:/var/run/opendkim/opendkim.sock"
# listen on all interfaces on port 54321:
#SOCKET="inet:54321"
# listen on loopback on port 12345:
#SOCKET="inet:12345@localhost"
# listen on 192.0.2.1 on port 12345:
#SOCKET="inet:[email protected]"
SOCKET="inet:[email protected]" # listen on loopback on port 8891

Al iniciar el servicio en la línea de comando se obtiene: root@myserverhostname:/etc/opendkim# ​​systemctl start opendkim.service

Job for opendkim.service failed because the control process exited with error code. See "systemctl status opendkim.service" and "journalctl -xe" for details.

solución de problemas

estado systemctl opendkim.service

root@myserverhostname:/etc/opendkim# systemctl status opendkim.service
● opendkim.service - DomainKeys Identified Mail (DKIM) Milter
   Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2020-12-17 09:49:32 PST; 5s ago
     Docs: man:opendkim(8)
           man:opendkim.conf(5)
           man:opendkim-genkey(8)
           man:opendkim-genzone(8)
           man:opendkim-testadsp(8)
           man:opendkim-testkey
           http://www.opendkim.org/docs.html
  Process: 11446 ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid -p $SOCKET $DAEMON_OPTS (code=exited, status=64)
  Process: 11442 ExecStartPre=/bin/chown opendkim.opendkim /var/run/opendkim (code=exited, status=0/SUCCESS)
  Process: 11439 ExecStartPre=/bin/mkdir -p /var/run/opendkim (code=exited, status=0/SUCCESS)
 Main PID: 13909 (code=exited, status=0/SUCCESS)

Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: Starting DomainKeys Identified Mail (DKIM) Milter...
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: opendkim.service: Control process exited, code=exited status=64
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: Failed to start DomainKeys Identified Mail (DKIM) Milter.
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: opendkim.service: Unit entered failed state.
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: opendkim.service: Failed with result 'exit-code'.

diarioctl -xe

root@myserverhostname:/etc/opendkim# journalctl -xe
Dec 17 09:49:27 myserverhostname.domain.com opendkim[11403]: OpenDKIM Filter: mi_stop=1
Dec 17 09:49:27 myserverhostname.domain.com opendkim[11403]: OpenDKIM Filter v2.10.3 terminating with status 0, errno = 0
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: Starting DomainKeys Identified Mail (DKIM) Milter...
-- Subject: Unit opendkim.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit opendkim.service has begun starting up.
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]: opendkim: usage: opendkim -p socketfile [options]
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -A                  auto-restart
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -b modes            select operating modes
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -c canon            canonicalization to use when signing
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -d domlist          domains to sign
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -D                  also sign subdomains
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -e name             extract configuration value and exit
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -f                  don't fork-and-exit
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -F time             fixed timestamp to use when signing (test mode only)
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -k keyfile          location of secret key file
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -l                  log activity to system log
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -L limit            signature limit requirements
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -n                  check configuration and exit
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -o hdrlist          list of headers to omit from signing
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -P pidfile          file into which to write process ID
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -q                  quarantine messages that fail to verify
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -Q                  query test mode
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -r                  require basic RFC5322 header compliance
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -s selector         selector to use when signing
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -S signalg          signature algorithm to use when signing
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -t testfile         evaluate RFC5322 message in "testfile"
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -T timeout          DNS timeout (seconds)
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -u userid           change to specified userid
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -v                  increase verbosity during testing
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -V                  print version number and terminate
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -W                  "why?!" mode (log sign/verify decision logic)
Dec 17 09:49:32 myserverhostname.domain.com opendkim[11446]:         -x conffile         read configuration from conffile
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: opendkim.service: Control process exited, code=exited status=64
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: Failed to start DomainKeys Identified Mail (DKIM) Milter.
-- Subject: Unit opendkim.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit opendkim.service has failed.
--
-- The result is failed.
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: opendkim.service: Unit entered failed state.
Dec 17 09:49:32 myserverhostname.domain.com systemd[1]: opendkim.service: Failed with result 'exit-code'.

No puedo ver exactamente cuál es el problema y por qué no se inicia, pero cuando uso el comando como se muestra en las líneas de ExecStart: (llenando el socket del archivo de configuración) parece estar ejecutándose dos veces en el ps lista.

root@myserverhostname:/etc/opendkim# /usr/sbin/opendkim -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid -p inet:8891@localhost
root@myserverhostname:/etc/opendkim# ps aux | grep opendkim
opendkim 11020  0.0  0.0 114932  3592 ?        Ss   09:31   0:00 /usr/sbin/opendkim -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid -p inet:8891@localhost
opendkim 11021  0.0  0.1 354864  9348 ?        Sl   09:31   0:00 /usr/sbin/opendkim -x /etc/opendkim.conf -u opendkim -P /var/run/opendkim/opendkim.pid -p inet:8891@localhost
root     11285  0.0  0.0  12944   864 pts/1    S+   09:43   0:00 grep --color=auto opendkim

Netstat se muestra correctamente y el correo electrónico saliente se firma y verifica utilizando mi dirección de Gmail como prueba.

root@myserverhostname:/var/run/opendkim# netstat -nlp | grep 8891
tcp        0      0 127.0.0.1:8891          0.0.0.0:*               LISTEN      11521/opendkim
root@myserverhostname:/var/run/opendkim#


Dec 17 10:04:34 myserverhostname opendkim[11521]: 0BHI4W1k011594: DKIM-Signature field added (s=default, d=myserverhostname.ca)
Dec 17 10:04:34 myserverhostname sm-mta[11594]: 0BHI4W1k011594: Milter insert (1): header: DKIM-Signature:  v=1; a=rsa-sha256; c=relaxed/simple; d=domain.ca;\n\ts=default; t=1608228274;\n\tbh=P8ERRrcY00MFB0/1JAF/I0afn2dfZMmgtMEeTAJNwbQ=;\n\th=From:To:Subject:Date;\n\tb=pe2VvSZZVJDrU5YWvvgV6VuzgkQd7tiypxHHhsUgBUampWu3sw1ezdSHi3wicwGps\n\t TyTxjl4hO1gxw3qXYGvTTqI0S6raI5P0UobSv+OstxgN6l00z5r4PtVfJUPsQUI6mO\n\t vpevQNA/sEPVDPYMV7BnsrGlsxZjPWB+knA/VEGA=



from:   ME <[email protected]>
to: Dennis Lloyd <[email protected]>
date:   Dec 17, 2020, 9:33 AM
subject:    TEST dkim
mailed-by:  myserverhostname.ca
signed-by:  myserverhostname.ca
security:    Standard encryption (TLS) Learn more

Estoy muy confundido, probé todo lo que pude encontrar como sugerencia de muchas preguntas diferentes formuladas en Internet (así que espero no haber dejado alguna configuración incorrecta retrasada en alguna parte). Se agregó la entrada de firewall, probé 127.0 .0.1 y localhost para el socket también.

Me inclino por un problema de permisos, pero el usuario opendkim también tiene permisos para todo lo que se supone. ¡Cualquier sugerencia será muy apreciada!

información relacionada