更改 systemd 使用者並替換傳輸守護程序不起作用
因此,經過一些研究,我發現 systemd 服務單元存在外掛。
我試圖讓
transmission-daemon
包以pi
使用者身份執行,因為這是在它下載到的文件夾中獲得正確權限的唯一方法。預設情況下,它執行為debian-transmission
. 我想避開 init.d 並選擇一種系統化的方法。在 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 連接在瀏覽器中不起作用。如果您能提供幫助,請提前感謝,因為我很困惑。
自己找答案:
Systemd 不是問題,因為它可以正確執行服務,但是當傳輸守護程序以 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 指令。