3

そこで、MAC アドレスを変更するための小さなスクリプトを作成しましたが、切り替えるにはパスワードを入力する必要があります。

sudo ifconfig en1 ether 00:11:22:33:44:55
4

3 に答える 3

4

/etc/sudoers sudo 設定ファイルにあなたの ID の ifconfig コマンドを追加することができます

于 2012-08-20T08:12:06.050 に答える
3

編集:これらのコマンドをバイナリでラップしない限り、実際にはこれを行うことができないことに気付きました。たとえば、C プログラムから system() 関数を使用します。setuid シェル スクリプトは、Linux がそれらをまったく使用しないほど悪い考えだと思います :)。

状況によっては危険な場合もありますが、スクリプトを setuid にすることができます。これを行うには、そのコマンドを次のようにファイルに入れます。

#!/bin/bash
ifconfig en1 ether 00:11:22:33:44:55

次に、root が所有し、自分だけがファイルにアクセスできるようにパーミッションを設定します。

$sudo chown root file.sh
$sudo chgrp username file.sh
$sudo chmod 070 file.sh

次に suid にします:

$sudo chmod +s file.sh

これで、このファイルをユーザーとして実行できるはずですが、root 権限で実行してください。

于 2012-08-20T08:14:04.723 に答える
0

root パスワードをアクセス可能なファイルに入れたくありません。

そのコマンドだけをパスワードなしで sudoable にする方がよいでしょう。

/etc/sudoers に入ってみてください

<your username> ALL=(ALL) NOPASSWD: ifconfig

これは、コマンドが ifconfig である限り、ユーザーが sudo のパスワードを入力する必要がないことを示しています。

ただし、最初に sudoers ファイルが一般的にどのように機能するかについて読む必要があります。何をしているのかわかりませんが、Ubuntu のドキュメントは次のとおりです: https://help.ubuntu.com/community/Sudoers

ここに OSX のドキュメントがあります http://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/sudoers.5.html

于 2012-08-20T08:16:27.090 に答える