更改 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 指令。

相關內容