Raspberry-Pi
創建一個執行 python 的服務
我正在嘗試通過創建 .service 文件在 Pi4 上啟動服務。
這是我到目前為止的內容:
Unit] Description=NZBHydra2 Daemon Documentation=https://github.com/theotherp/nzbhydra2 After=network.target [Service] User=root Group=something Type=simple # Set to the folder where you extracted the ZIP WorkingDirectory=/opt/nzbhydra2 # NZBHydra stores its data in a "data" subfolder of its installation path # To change that set the --datafolder parameter: # --datafolder /path-to/datafolder ExecStart=sudo -u pi /usr/bin/python /opt/nzbhydra2/nzbhydra2wrapper.py --nobrowser Restart=on-failure [Install] WantedBy=multi-user.target
我想以使用者
pi
身份而不是以root
. 我添加了,-u pi
但我拒絕訪問 python。如果我在沒有 的情況下執行它-u
,它會創建只有 root 也可以訪問的文件。/opt/nzbhydra2 的所有者是 pi:pi。如何以
pi
使用者而不是 root 身份執行此 python 腳本但仍可以訪問 python?謝謝!
您不(不應該)
sudo
在 systemd 服務或任何非互動式腳本中使用。相反,您可以使用已經發現的User=
和欄位。Group=
你的單位應該是這樣的:
[Unit] Description=NZBHydra2 Daemon Documentation=https://github.com/theotherp/nzbhydra2 After=network.target [Service] User=pi Group=pi Type=simple WorkingDirectory=/opt/nzbhydra2 ExecStart=/usr/bin/python /opt/nzbhydra2/nzbhydra2wrapper.py --nobrowser Restart=on-failure [Install] WantedBy=multi-user.target