Setuidについての警告に私はあまりにも怖がっています。しかし、私はそれを使用する方法を見つけることができません。
実行できるようにしたい:arp -s 198.51.100.1 00:53:00:12:34:56
ユーザーとしてsteven
ですが、arp-sにはrootが必要です。
これはそれを行う正しい方法でしょうか?
Sudo nano example.sh
Sudo chmod u+s example.sh
Sudo chmod og-w example.sh
Sudo chmod o+x example.sh
./example.sh
短編小説:setuidシェルスクリプト(またはanysetuid/setgidスクリプト)を使用しないでください。
長い話: シェルスクリプトでsetuidを許可する
解決策:Sudo
を使用してコマンドを呼び出します。
Sudo arp -s 198.51.100.1 00:53:00:12:34:56
ユーザーsteven
がパスワードを入力せずにこのコマンドを実行できるようにするには、visudo
を実行し、次の行を追加します。
steven ALL = (root) NOPASSWD: arp -s 198.51.100.1 00\:53\:00\:12\:34\:56
steven
の他のSudoエントリがある場合、 NOPASSWD:
最後に来る必要があります 。