rootと現在のユーザーの両方でスクリプトを実行するにはどうすればよいですか? [コピー]

rootと現在のユーザーの両方でスクリプトを実行するにはどうすればよいですか? [コピー]

sudo特定のタスクを実行するには権限が必要ですが、現在のユーザーとして特定の設定を変更する必要があるシェルスクリプトを作成したいと思います。ユーザーの介入を必要としないようにスクリプトをできるだけ自動化したいと思います。

私が経験している問題は、スクリプト全体を実行するとsudo現在のユーザーの設定を変更できないことです。ただし、root権限を必要とする特定のコマンドのみを追加すると、スクリプトが長くなりタイムアウトになるため、sudoパスワードを入力し続ける必要があります。sudo

sudo現在のユーザーでスクリプトを実行していますが、必要に応じて権限を維持する方法はありますか?

ベストアンサー1

基本的には2つの方法があります。

  • 他のプログラム/スクリプトへのrootアクセスを必要とする子タスクを分離し、その部分をrootとして実行します(setuid rootバイナリまたは経由sudo)。

  • プログラム全体をrootとして実行し、次のように通常のユーザーとして実行する必要がある部分を実行します。su - user

おすすめ記事