私は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
答え1
短いストーリー:setuidシェルスクリプトを使用しないでください(またはどのsetuid/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
他のsudoエントリがあるsteven
場合NOPASSWD:
最後に入れなければならない。