.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
대신 사용자로 실행하고 싶지만 Python 액세스가 거부되었습니다. 없이 실행하면 루트만 액세스할 수 있는 파일도 생성됩니다. /opt/nzbHydra2의 소유자는 pi:pi입니다.root
-u pi
-u
pi
루트 대신 사용자로 이 Python 스크립트를 실행하면서도 여전히 Python에 액세스할 수 있는 방법은 무엇입니까 ?
감사해요!
답변1
sudo
시스템 서비스나 비대화형 스크립트 내에서는 사용 하지 마세요 . 대신 이미 검색된 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