私は最近、bash に関する限られた知識を使って、次の 2 つのことを実行するスクリプトを作成しました。
- ホスト名を変更するはずです
- そして、MACアドレスを変更します。
指示を/etc/rc.local
Backtrack 5 r3 マシンに直接入力しましたが、MAC アドレスを変更できないようです。macchanger はすでにインストールされています。ホスト名は問題なく変更されますが、MAC アドレスは変更されないようです。マシンが仮想ボックスで実行されているからでしょうか?
私が入れたものは次のとおりです/etc/rc.local
:
dhclient -r && rm -f /var/lib/dhcp3/dhclient* && sed "s=$(hostname)=REPLACEME=g" -i /etc/hosts && hostname "$(echo $RANDOM | md5sum | cut -c 1-7 | tr a-z A-Z)" && sed "s=REPLACEME=$(hostname)=g" -i /etc/hosts && macchanger -e eth0 && macchanger -e wlan0 && dhclient
私は && 演算子を使ってこのように試しました。また、各行にコマンドを入れても試しました。ホスト名は毎回変わりますが、MAC アドレスは変わりません。
ご協力いただければ幸いです。
答え1
macchanger -e eth0
との結果をmacchanger -e wlan0
ファイルに書き込んでみてください。そして、 の起動時にその名前のデバイスが存在するかどうかを確認しますifconfig
。たとえば、これを に入力します/etc/rc.local
:
macchanger -e eth0 &> /tmp/devices.txt
macchanger -e wlan0 &>> /tmp/devices.txt
ifconfig &>> /tmp/devices.txt
説明:
&> /tmp/devices.txt
標準出力と標準エラー出力を /tmp/devices ファイルに書き込みます。マシンを起動した後、このファイルを調べて、そこからヒントを得ることができます。
答え2
頼りにしてくれてありがとう。すでに試してみましたが、うまくいきませんでした。どうやら「startx」と入力する前に macchanger が実行できないようにする何かがあるようです。上位リングでしか実行できないのでしょうか? コマンドを別のファイルに入れ、そのファイルに対して chmod +x コマンドと「sudo /etc/init.d myfile defaults」も実行しました。これで、rc1.local から rc5.local まですべてにファイルが追加されたことがわかりました。最終的に、GUI のスタートアップ プログラムにファイル パスを入力したところ、startx を実行した後に MAC アドレスが変更されました。
編集: うわっ、Gmail アカウントが間違っていました。正しいアカウントで再投稿します。