/etc/sudoersで一般ユーザーがサービスを再起動できるようにする

/etc/sudoersで一般ユーザーがサービスを再起動できるようにする

kado-demo.service通常のユーザー ( kado) がパスワードを入力せずに再起動できるサービス ( ) があります。

作成し/etc/sudoers.d/user_restartて追加しました

kado ALL=NOPASSWD: /bin/systemctl restart kado-demo.service

権限:

-r--r-----   1 root root   585 Mar  5 10:47 user_restart

ユーザー k として、指定されたコマンドを実行できるはずですが、次の問題が発生します。

/bin/systemctl restart kado-demo.service
 ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
 Authentication is required to restart 'kado-demo.service'. 
 Multiple identities can be used for authentication:
  (...)

これは、ファイルを追加する前と同じ結果です。

/etc/sudoers含まれるもの

#includedir /etc/sudoers.d

user_restartまた、ファイルの内容を に直接追加した場合も同じ結果が得られます/etc/sudoers

アイデアが尽きてきました...

答え1

を有効にするにはsudoers、実際に を使用する必要がありますsudo。:) 次のようにします。

sudo systemctl restart kado-demo.service

パスワードも求められません。

を使用しない場合はsudosystemctlポルキット承認のため。

答え2

通常のユーザーstartまたはrestartサービスに次のことを許可する:

sudo visudo 

userB ALL=NOPASSWD: /bin/systemctl restart serviceA.service, /bin/systemctl stop serviceA.service, /bin/systemctl start serviceA.service, /bin/systemctl status serviceA.service

関連情報