web-dev-qa-db-ja.com

rootとしてではなくサービスを実行する方法

Unit-Fileを/usr/lib/systemd/system/mediation.serviceにコピーすることで、LinuxRedHatでサービスを正常に作成しました。

私は正常にサービスを開始/停止/有効化/ ...できます

systemctl enable mediation
systemctl start mediation
etc.

ただし、systemctlは通常rootによって実行されるため、私のアプリケーションはrootとしても実行されます。別の(非特権)ユーザーの下で実行するサービスを構成するにはどうすればよいですか?

1

使用する:

User=myuser

ユニットファイル内。

これは man systemd.exec に文書化されています

また、カスタムファイルは/usr/lib/systemd/systemに入れるのではなく、/etc/systemd/systemに入れる必要があります。前者は、パッケージがファイルをインストールする場所です。後者は、システム管理者がファイルを配置する場所です。

2
Mark Stosberg