ルートモードで実行されるシェルスクリプト

ルートモードで実行されるシェルスクリプト

ルートモードで実行する必要があるコマンドを含むスクリプトを実行する必要があります。コマンドの前に置くと、sudoスクリプトの実行時に権限の拒否が表示されます(パスワードを書く機会はありません)。 sudoを使用してスクリプトを実行すると、-コマンドが見つかりません。sudo suスクリプトを最初に入れると、パスワードを入力しても何も起こりません。スクリプトはルートモードを終了したときにのみ実行されます。そのようなスクリプトを作成するには?ありがとうございます。

答え1

sudoでは、パスワードを要求しないようにスクリプトを設定できます /etc/sudoers。たとえば、次のようになります。

user   ALL=(ALL:ALL) NOPASSWD: /path/to/your/script

答え2

(コメントできず、編集内容が小さすぎて新しい回答として投稿)

endコマンドを使用すると、""ユーザーが任意のパラメータを使用してコマンドを実行できないようにすることができます。

user ALL=(ALL:ALL) NOPASSWD: /path/to/your/script ""

今はsudo /path/to/your/script動作しますがsudo /path/to/your/script foo bar失敗します。

関連情報