sudoが許可されないのはなぜですか?

sudoが許可されないのはなぜですか?

sudoを使用せずにshスクリプトで "brctl addbr br-lan"コマンドを使用してブリッジを作成する必要があります。

私はこのようなスクリプトを持っています。

brctl addbr br-lan
ifconfig lo up

私のスクリプトの機能を設定しようとしています。

sudo ./setcap cap_net_raw,cap_net_admin,cap_dac_override+eip 
./myscript.sh

しかし、それは何も変えません。

"./myscript.sh"を呼び出すと、次の出力が返されます。

add bridge failed: Operation not permitted
SIOCSIFFLAGS: Operation not permitted

root権限なしでスクリプトを実行するにはどうすればよいですか?または、スクリプトに対してどのような機能を定義する必要がありますか?

テキサス。

ベストアンサー1

関数が必要なのはスクリプトではなくインタプリタなので、スクリプトに関数を割り当てることはできません。それでも問題が解決しない場合は、sudoroot権限でスクリプトを実行する別の方法を見つける必要があります。

一部のコンテキスト(実行できない理由sudoやスクリプトがルートアカウントで自然に実行されない理由など)を含むように質問を更新すると、ここにいる誰かが追加の提案をいくつか提供することがあります。

おすすめ記事