ルート権限でコマンドを実行するためのスクリプトを実装したいのですが、パスワードを入力する必要はありません。ターミナルでは、次のように表示したいと思います。
./newsudo "comand with root privileges"
実行する方法は、「root権限を持つコマンド」をスクリプト内の引数として使用し、execまたは類似のものを使用して実行することだと思います。
真実は、私はこのすべての分野で非常に初心者であり、どこから始めればいいのかわかりません。
ありがとう!!
理論的には、あなたが尋ねることは可能です。 sudoersファイル内のアプリケーションを引数付きで実行するように設定することが可能であるため、canを呼び出すコマンド(スクリプト)を作成し、問題のコマンドでSudoで実行します引数として。
NEVER。これは管理者であるという原則を破るからです。悪意のあるプロセスは、コードを実行してシステムを破壊する可能性があります。
一番下の行は、私もそれを行う方法を投稿しないことです。
@Groundzeroで述べたように、specificアプリケーションまたはスクリプトをsudoersファイルに追加して、 here のようにパスワードなしで実行できます。ただし、次のことに注意してください。
Sudo
(パスワードなし)で実行するスクリプトを保存しないでください。誰(または任意のプロセス)による簡単な編集でも、何でもできます。コマンドの前にNOPASSWD:を指定して、目的のユーザー/グループに問題のコマンドを許可するSudoルールを作成します。新しいスクリプトは必要ありません。パスワードを必要とせずにadminsグループの全員にrootとして何かを実行する権限を付与するには、次のようにします。
%admins ALL = NOPASSWD: ALL
一般的に、余分な危険なコマンドでパスワードを要求するのは良い考えですが、セキュリティポリシーはあなたのものです。これがどのように安全でないかについてのいくつかの(現在は削除された)議論があり、私は同意します:それはis危険です。 「このユーザーは、時々IDを再検証せずにルートとして何でも実行できる」と言うのは、ほとんど常に悪い考えです。
ただし、セキュリティ専用のフォーラムは他にもあります。正当な目標がパスワードなしでrootとして任意のコマンドを実行することである場合、上記の方法が最も安全な方法です。これを実装する人は誰でも、「このユーザーの特権でコマンドを実行できる人は実質的にrootである」などのリスクを認識する必要があることに注意してください。ブラウザにセキュリティホールがある場合は、ダウンロードされたスクリプトや悪意のあるWebページなども含まれます。 「非特権ユーザー」と「ルート」の分離は、このようなルールが導入されたため、ほとんどなくなりました。バイヤーは注意してください。 :)