
Então, depois de algumas pesquisas, descobri a existência de drop-ins para unidades de serviço do systemd.
Estou tentando fazer com que o transmission-daemon
pacote seja executado como pi
usuário, pois é a única maneira de obter a permissão correta na pasta para a qual ele faz o download. Por padrão ele é executado como debian-transmission
. Quero me afastar do init.d e escolher uma abordagem systemd.
Descrito no arquivo systemd ( /lib/system/systemd/transmission-daemon.service
):
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=debian-transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
Com meu substituto imediato em /etc/systemd/system/transmission-daemon.service.d/local.conf
:
[Service]
User=
User=pi
Group=pi
Eu corri sudo systemctl daemon-reload
e sudo systemctl restart transmission-daemon
. O drop-in é listado sudo systemctl status transmission-daemon
e mostrado como ativo, mas o daemon não está funcionando corretamente e a conexão RPC não funciona em um navegador.
Agradecemos antecipadamente se você ajudar, porque estou atrapalhado.
Responder1
Encontre a resposta sozinho:
Systemd não é o problema, pois executa o serviço corretamente, mas quando o daemon de transmissão é executado como o usuário pi, ele lê a configuração de $HOME/.config/transmission-daemon/settings.json
propriedade de pi:pi
, em vez de /etc/transmission-daemon/settings.json
propriedade de debian-transmission:debian-transmission
.
Como solução, você pode passar a usar o arquivo de configuração $HOME/transmission-daemon
ou passar -g /etc/transmission-daemon/settings.json
uma diretiva ExecStart no drop-in.