特定のユーザーにのみサービスを有効にする(UBUNTU)

特定のユーザーにのみサービスを有効にする(UBUNTU)
  1. 現在、Ubuntuでサービスユニットファイルを作成しています。ユーザーのサービスを有効にしたいです。ユーザーAただ。 UserA がログインすると、サービスは自動的に実行されますが、他のユーザーに対しては実行されません。どうすればいいですか?

以下は/ etc / systemに配置したユニットファイルです。

[Unit]
Description=Test unit

[Service]
ExecStart=/bin/sh -c 'echo test > /home/UserA/sysdworking'

[Install]
WantedBy=multi-user.target
  1. これは一般的な慣行ですか?それとも、すべてのサービスがシステム全体にわたっている必要がありますか?

ベストアンサー1

あなたが探しているものシステムユーザー単位。ユニットファイルを入れる~/.config/systemd/userと、ログインするとsystemdは自動的にサービスを開始します。

上記のリンクから:

/etc/pam.d/system-loginのデフォルト設定に応じて、pam_systemdモジュールはユーザーが初めてログインすると自動的にsystemd --userインスタンスを起動します。プロセスはユーザーにセッションがある間に存在し、ユーザーの最後のセッションが閉じるとすぐに終了します。 #systemdユーザーインスタンスの自動起動が有効になっていると、インスタンスは起動時に起動され終了しません。 systemdユーザーインスタンスはユーザーサービスの管理を担当し、ソケットのアクティブ化、タイマー、システムの依存関係、またはcgroupによる厳密なプロセス制御など、systemdのすべての利点と一緒にデーモンまたは自動化タスクを実行するために使用できます。

おすすめ記事