Debian

更改 systemd 使用者並替換傳輸守護程序不起作用

  • November 5, 2016

因此,經過一些研究,我發現 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-reloadsudo 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 指令。

引用自:https://unix.stackexchange.com/questions/318342