「sudo」で実行するたびに、「/etc/sudoers」に追加されたコマンドのパス名を指定する必要がありますか?

「sudo」で実行するたびに、「/etc/sudoers」に追加されたコマンドのパス名を指定する必要がありますか?

たとえば、に追加した行の場合/etc/sudoers

t  ALL=(ALL) NOPASSWD: /path/to/myscript

/path/toPATH現在のユーザーにはありますが、にはtありません。PATHroot

$ sudo /path/to/myscript

パスワードなしで動作しますが、run scriptを使用するたびにスクリプトのパス名を指定する必要がありますかsudo

$ sudo myscript
[sudo] password for t: 
sudo: changeCpuFreq.sh: command not found

myscriptパスがのパスではないため、パスワードを使用しても機能しません。PATHroot

$ sudo -E env "PATH=$PATH" myscript
[sudo] password for t: 

PATHtにコピーされたため、パスワードを使用できますが、root問題はまだパスワードが必要なことです。

ありがとうございます。

ベストアンサー1

ただし、sudoers自体ではフルパス名を定義する必要はありません。しなければならないセキュリティ上の理由からこれを行います。

それ以外の場合は、root権限を取得するのはかなり簡単です。その他同じ名前のバイナリファイルプレスト楽章、即時ルート権限。

おすすめ記事