2017-11-06 8 views
-1

私は現在、新しい誰かがサーバーがホスティングしているWebサイトにアクセスするたびに実行されるbashスクリプトを持つLinuxサーバーの設計に取り組んでいます。このbashスクリプトは、クライアントの新しいmacアドレスを抽出し、ufwディレクトリにあるbefore.rulesファイルにそのMACアドレスを追加します。MacアドレスをブロックするBashスクリプト

arp -a | grep eth1 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'

をbefore.rulesに追加する必要があるコードの行は次のとおりです:

-A ufw-before-input -m mac --mac-source "the extracted mac address" -j DROP

ちょうど私が使用しているARPからMACアドレスを抽出するために

どのように私はこのスクリプトを行うことができますの任意のアイデアを持って誰ですか?

+0

私は混乱しています。これはOS Xと何が関係がありますか? – Ssswift

答えて

0

最初のコマンド(MACアドレスを与える)を含む変数を定義し、その値を含む2行目のコードを出力します。

#!/bin/bash 

ufwdir='SOME/DIRECTORY' 
mac=$(arp -a | grep eth1 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}') 
echo "-A ufw-before-input -m mac --mac-source \"$mac\" -j DROP" >>$UFWDIR/before.rules 

重要/免責事項:あなたは>を使用している場合、それはその1つの行を追加する前に、ファイルが切り捨てられます、ファイルに書き込む

  • 使用を>>!
  • 私はこのコードをテストしていません。あなたの質問からコマンドを再利用しました。
関連する問題