更改 systemd 用户并直接替换传输守护进程不起作用

更改 systemd 用户并直接替换传输守护进程不起作用

因此,经过一些研究,我发现了 systemd 服务单元的插件的存在。

我正在尝试让transmission-daemon包以用户身份运行,pi因为这是在其下载到的文件夹中获得正确权限的唯一方法。默认情况下它运行为debian-transmission.我想放弃 init.d 并选择 systemd 方法。

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

我的直接替代品是/etc/systemd/system/transmission-daemon.service.d/local.conf

[Service]
User=
User=pi
Group=pi

我跑了,sudo systemctl daemon-reload然后sudo systemctl restart transmission-daemon。该插件已列出sudo systemctl status transmission-daemon并显示为活动状态,但守护程序未正确运行且 RPC 连接在浏览器中不起作用。

如果您有帮助,请提前致谢,因为我很困惑。

答案1

自己找答案:

Systemd 不是问题,因为它正确运行服务,但是当 Transmission-daemon 以 pi 用户身份运行时,它会从$HOME/.config/transmission-daemon/settings.json拥有的pi:pi而不是/etc/transmission-daemon/settings.json拥有的读取配置debian-transmission:debian-transmission

作为解决方案,您可以切换到使用配置文件$HOME/transmission-daemon-g /etc/transmission-daemon/settings.json在插件中传入 ExecStart 指令。

相关内容