Alterando o usuário do systemd com substituição imediata para o daemon de transmissão não funcionando

Alterando o usuário do systemd com substituição imediata para o daemon de transmissão não funcionando

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-daemonpacote seja executado como piusuá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-reloade sudo systemctl restart transmission-daemon. O drop-in é listado sudo systemctl status transmission-daemone 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.jsonpropriedade de pi:pi, em vez de /etc/transmission-daemon/settings.jsonpropriedade de debian-transmission:debian-transmission.

Como solução, você pode passar a usar o arquivo de configuração $HOME/transmission-daemonou passar -g /etc/transmission-daemon/settings.jsonuma diretiva ExecStart no drop-in.

informação relacionada