プログラム/ユーザーに特定のタスクを実行する権限を付与する

プログラム/ユーザーに特定のタスクを実行する権限を付与する

私はパスワードを挿入せずにいくつかの特権タスクを実行する必要があるプログラムを書いています。たとえば、次のようになります。

  • systemctl コマンドの使用
  • スーパーユーザーコマンドの実行
  • rootユーザーが所有するファイルの読み取り/書き込み

これまでに私がしたことは、プログラムを実行しているユーザーのためのsudoerファイルを生成し、パスワードなしで特定のsudoコマンドを実行できるようにすることでした。

これで、いくつかのルートファイルを読み書きする必要があります。たとえば、/etc/shadowを読んでください。cat /etc/shadow私はsudoerファイルに追加できますが、私のプログラム(またはプログラムを実行しているユーザー)に直接読み取り権限を与えることを好みます。ファイル(つまり、プログラム自体内でファイルを開いて読み取る)

この目標をどのように達成できますか?

そして私のようにsudoerファイルを使っても大丈夫でしょうか?より良いオプションはありますか?

最後に、私のプログラム/ユーザーに完全なスーパーユーザー権限を付与するのではなく、必要な特定のタスクに必要な権限のみを付与するように指定したいと思います。

よろしくお願いします。

関連情報