私のサービスがrootとして実行されるのはなぜですか?

私のサービスがrootとして実行されるのはなぜですか?

私のルーターに接続され、Linuxボックスとして実行される古いラップトップがあります。私はリモートトレントボックスとして実行するためにqbittorrentをインストールし(もちろんLinuxディストリビューションをダウンロードするために)、それを実行するために新しいユーザー「qbuser」を作成しました。そのユニットファイルを作成しましたが、プロセスのリストを見るとrootとして実行されています。なぜこれが起こるのですか? トップコマンドの結果

[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は警告を記録し、rootとしてサービスを実行し続けます。

コマンドを使用して警告を含むログを表示したり、より多くのログを表示したりできますsystemctl status qbittorrent-noxjournalctl -u qbittorrent-nox -e

関連情報