システムユーザー= --userを使う

システムユーザー= --userを使う

User=someuserこれをデバイス構成で指定するものとサービスとして実行することのユースケースは何ですか?サービスでこれを指定することは意味がありますか--userUser=--user

ベストアンサー1

User=someuserシステムサービスは、rootユーザーとして起動されないシステムサービスを定義します。システムサービスはユーザーログインとは無関係に実行されます。システムにログインしている人がいなくても引き続き実行されます。可能な限り、専用サービスアカウントでサービスを実行するのは安全ですが、時にはサービスをrootとして起動する必要があり、サービスアカウントのTCPまたはUDPポートを開くなど、通常はrootアクセスを必要とするいくつかの初期操作を実行した後、できます。ポート番号は1024未満です。

--userログインしたユーザーのサービスを開始します。デフォルトの前提は、そのサービスを所有するユーザーがシステムの最後の残りのセッションからログオフすると、すべてのユーザーサービスが停止することです。ただし、システム管理者はログアウト後もユーザープロセスが続行することを許可できます。一部のディストリビューションでは、Unix / Linuxシステムは、ログアウト時にユーザープロセスをインポートするのに厳密ではなく、ユーザーが特定のタスクを実行せずにログアウト時にバックグラウンドプロセスを実行できることを期待できるため、デフォルトでこれを許可しますsystemd

(一方、マルチユーザーシステムの管理者は、伝統的に、例えばラップトップユーザーが実際にログアウトせずにラップトップカバーを閉じて席を離れた場合、レガシーユーザープロセスをクリーンアップするためにさまざまなソリューションを実装する必要がありました。)必要に応じて正確にシャットダウンすることができますが、その結果、システム管理者はsystemd自動セッションクリーンアップが必要かどうか、および時期にポリシーを決定する必要があります。)

同じユーザーが同時に複数のセッションにログインする場合、--userサービスのコピーは1つだけ実行されます。したがって--user、サービスは実際にはユーザーの特定のセッションに関連付けられておらず、ユーザー自身にのみ接続されます。

セッションが属するログインユーザー以外のユーザーでサービスを実行することは、--user非常に限られた状況でのみ役に立つと思います。サービスへのアクセスを特定の共有アカウントに制限する必要がある場合は、通常、そのサービスをシステムサービスにするのが最善だと思います。必要に応じてアクセス権があります。アカウントを共有する他のユーザーが提供します。

おすすめ記事