내 라우터에 연결되어 Linux 상자로 실행되는 오래된 노트북이 있습니다. 원격 토렌트 박스로 실행하기 위해 qbittorrent를 설치했고(물론 Linux 배포판을 다운로드하기 위해) 이를 실행하기 위해 새로운 사용자 "qbuser"를 만들었습니다. 해당 유닛 파일을 생성했는데 프로세스 목록을 보면 루트로 실행되고 있습니다. 왜 이런 일이 발생합니까?
[Unit]
Description=qbittorrent-nox
Documentation=man:qbittorrent-nox
DefaultDependencies=yes
After=network-online.target nss-lookup.target
Before=multi-user.target
[Service]
User=[i][b]qbuser[/b][/i]
Group=[b]qb[/b]
Type=simple
ExecStart=/usr/bin/qbittorrent-nox [-options]
Nice=10
StandardError=null
StandardOutput=null
TimeoutSec=360s
[Install]
WantedBy=multi-user.target
편집: 유닛 파일의 구문 오류를 수정했는데 이제 완전히 실패합니다. 그룹 qb와 사용자 qbuser가 존재하는지 다시 확인했습니다. 이것은 systemctl 상태 출력입니다:
steve@debian-server:~$ sudo systemctl status qbittorrent
● qbittorrent.service - qbittorrent-nox
Loaded: loaded (/etc/systemd/system/qbittorrent.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Fri 2019-01-25 23:31:07 CST; 6min ago
Docs: man:qbittorrent-nox
Process: 994 ExecStart=/usr/bin/qbittorrent-nox (code=killed, signal=ABRT)
Main PID: 994 (code=killed, signal=ABRT)
Jan 25 23:31:07 debian-server systemd[1]: Started qbittorrent-nox.
Jan 25 23:31:07 debian-server systemd[1]: qbittorrent.service: Main process exited, code=killed, status=6/ABRT
Jan 25 23:31:07 debian-server systemd[1]: qbittorrent.service: Unit entered failed state.
Jan 25 23:31:07 debian-server systemd[1]: qbittorrent.service: Failed with result 'signal'.
답변1
문제는 조직의 사용자 및 그룹 이름 주위에 추가 문자가 있다는 것입니다.
바꾸다:
[Service]
User=[i][b]qbuser[/b][/i]
Group=[b]qb[/b]
다음을 사용해야 합니다.
[Service]
User=qbuser
Group=qb
(그룹이 qb
존재한다고 가정합니다.)
또한 [-options]
이를 자신만의 옵션으로 바꾸고 대괄호를 제거해야 할 수도 있습니다.
사용자가 존재하지 않으면 systemd는 경고를 기록하고 루트로 서비스를 계속 실행합니다.
명령을 사용하여 경고가 포함된 로그를 보거나 더 많은 로그를 표시할 수 systemctl status qbittorrent-nox
있습니다 .journalctl -u qbittorrent-nox -e