A unidade Systemd aplica-se apenas às configurações Usuário, Grupo e Tempo de execuçãoDirectoryMode na reinicialização do serviço

1

Estou usando o Fedora 28 x64 em um VPS. Eu configurei o postfix como servidor de e-mail somente de envio com o OpenDKIM para assinar e-mails de saída.

O postfix se conecta ao OpenDKIM via configuração de soquete unix em /run/opendkim/opendkim.sock

A permissão para /run/opendkim/ é a seguinte

drwx------. 2 opendkim opendkim 80 Jul 13 00:05 opendkim

Para o Postfix se conectar ao milter OpenDKIM, alterei Group para postfix no arquivo da unidade OpenDKIM e adicionei RuntimeDirectoryMode=0750 . Aqui está todo o arquivo opendkim.service .

Localização: /usr/lib/systemd/system/opendkim.service

[Unit]
Description=DomainKeys Identified Mail (DKIM) Milter
Documentation=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
After=network.target remote-fs.target nss-lookup.target syslog.target

[Service]
Type=forking
User=opendkim
Group=postfix
PIDFile=/run/opendkim/opendkim.pid
EnvironmentFile=-/etc/sysconfig/opendkim
ExecStart=/usr/sbin/opendkim $OPTIONS
ExecReload=/bin/kill -USR1 $MAINPID
RuntimeDirectory=opendkim
RuntimeDirectoryMode=0750

[Install]
WantedBy=multi-user.target

O problema que estou enfrentando é que os valores User , Group , RuntimeDirectoryMode são aplicados somente quando eu reinicio o serviço OpenDKIM manualmente. O OpenDKIM está habilitado para rodar na inicialização do sistema via systemctl enable opendkim .

Mas depois de reiniciar o VPS, as permissões do diretório são as mesmas.

drwx------. 2 opendkim opendkim 80 Jul 13 00:05 opendkim

Eu tenho que executar systemctl restart opendkim para as permissões para alterar para

drwxr-x---. 2 opendkim postfix 80 Jul 13 00:05 opendkim

Alguma idéia de por que isso acontece? Algo que eu sinto falta aqui?

    
por Ronak 12.07.2018 / 20:50

1 resposta

2

O pacote opendkim inclui uma configuração systemd-tmpfiles que cria o diretório /run/opendkim na inicialização e define sua propriedade e permissões.

[root@localhost ~]# cat /etc/tmpfiles.d/opendkim.conf
D /var/run/opendkim 0700 opendkim opendkim -

Assim, suas personalizações na unidade de serviço do systemd estão sendo sobrescritas no momento da inicialização.

De acordo com o tutorial ligado a partir do README.fedora enviado com o pacote, você deve ter o Postfix conversando com o OpenDKIM através de um soquete TCP local na porta 8891, não através de seu soquete UNIX. Portanto, não há necessidade de alterar as permissões do diretório temporário. Você precisa alterar seu Postfix main.cf embora:

smtpd_milters           = inet:127.0.0.1:8891

Você também deve retornar a configuração do opendkim ao seu padrão enviado.

##  Create a socket through which your MTA can communicate.
Socket  inet:8891@localhost
    
por 12.07.2018 / 21:48