Bashスクリプトでsudoコマンドを実行する方法

Bashスクリプトでsudoコマンドを実行する方法

起動時にtorサービスを再起動するだけです。スクリプトは簡単です。

#!/bin/bash

sudo service tor restart

しかし、起動するたびにパスワードを要求せずに実行したいと思います。

私は次の投稿をフォローしました。https://askubuntu.com/questions/425754/how-do-i-run-a-sudo-command-inside-a-script/425990

sudoersファイルを次のように変更しました。

username ALL=(ALL) NOPASSWD: /path/to/script

ただし、端末で実行しようとすると、スクリプトは常にパスワードを要求します。この投稿の他の回答も試しましたが、投稿に検証がないため、解決策が見つかりませんでした。誰もが解決策を持っている場合?

ベストアンサー1

ライン

username ALL=(ALL) NOPASSWD: /path/to/script

次のusernameスクリプトを実行する権限を付与します。sudo

$ sudo /path/to/script

ユーザーがスクリプトから具体的に再起動できるようにするには、tor次のようにします。sudo

username ALL=(ALL) NOPASSWD: /usr/sbin/service tor restart

これでスクリプトは次のことができます。

sudo /usr/sbin/service tor restart

このコマンドはsudo構成と正確に一致する必要があります。

おすすめ記事