web-dev-qa-db-ja.com

USBストレージデバイスが挿入されたときに電子メール通知を受け取る方法

当社では、600以上のUbuntuシステムを実行しています。データセンターであるため、特定のポリシーがあります。すべてのUbuntuシステムでストレージデバイスの使用を無効にしました。ただし、電子メールアラートを設定したいと思います。誰かがストレージデバイスを挿入すると、次のような件名のアラートがメールで届きます。

メールアラート:

STORAGE DEVICE FOUND on IP: 172.29.35.18

注意:

  • Windowsシステムに関しては、DCに特定のポリシーが適用されています。したがって、Windowsシステムには問題はありません。
  • Ubuntuシステムのアラートも受信する必要があります。上記のタスクを達成する方法はどれも素晴らしいでしょう。

更新:

  • ユーザーがネットワークケーブルを切断し、ユーザーがデータ転送にusbを使用する場合、明確にすることはいくつかありますか?私はどんな暗示も受け取らないことを知っていますが、後で彼らがネットワークに接続すれば、それらの保留中の通知を得ることが可能ですか?
  • 一部の人は携帯電話の充電にusbを使用していますが、そのために電子メール通知を受け取ることは可能ですか??
27
karthick87

これを行う方法は、devルールを使用することです。これは、どのメーカーのすべてのUSBストレージデバイスにも適用されます。電子メールの部分については、Ubuntuデスクトップにはコマンドラインの電子メールクライアントが含まれていないことに注意してください。

25
ish

イカを使用できます( https://apps.ubuntu.com/cat/applications/cuttlefish/ )!

イカは、イベントが発生したときにアクションを実行できるプログラムです。たとえば、USBが接続されているときにコマンドを実行できます。 enter image description here

イカの使用方法:

  1. 左上隅から新しい反射を作成します。 enter image description here
  2. 好みの名前を付け、Activated by stimulusを有効にし、Noneをクリックして、刺激を選択します。 enter image description here
  3. 左側のHardwareと右側のUSB device plugged inをクリックします。次に「OK」をクリックします。 enter image description here
  4. [反応]タブをクリックし、左下のプラス記号をクリックします。 enter image description here
  5. [アプリケーション]-> [アプリケーションの開始](アドバンスモード)に進みます。次に「OK」をクリックします。 enter image description here
  6. 右側で、実行可能な実行可能ファイルを選択して任意のパラメーターで実行できることがわかります。そのため、システムトレイでCuttlefishを実行する必要があり、USBデバイスが接続されるたびにコマンドが実行されます。 enter image description here

メールを送信するために使用できるコマンドを知っていると思います。そうでない場合は、コメントとして投稿して、回答に含めてください。

18
hytromo

このように answer で、このコードを/etc/udev/rules.d/90-local.rulesに追加します

ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", ATTRS{vendor}=="SanDisk ", RUN+="/usr/local/bin/usb.sh"

usb.shファイルに、このコードを追加します

#!/bin/bash
ifconfig | grep ip >>/tmp/usb.log

echo “USB inserted.” | mutt -a /tmp/usb.log -s “attachment” [email protected]

ソース


    Sudo echo " ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", ATTRS{vendor}=="SanDisk ", RUN+="/usr/local/bin/usb.sh" ">>/etc/udev/rules.d/90-local.rules

 #then the `usb.sh`

    Sudo echo "     #!/bin/bash
        ifconfig | grep ip >>/tmp/usb.log

        echo “USB inserted.” | mutt -a /tmp/usb.log -s “attachment” [email protected] " >>/usr/local/bin/usb.sh

このスクリプトはテストされていません。自動化プロセスは改善されます。
テストPCをセットアップしたらすぐに。

3
blade19899

サーバーのパワーを取得するだけでなく、新しいusbデバイスを見ることができます(通常は電話が含まれます)

USBパーツの場合: PythonでLinuxの「USBデバイス挿入」イベントをリッスンするにはどうすればよいですか?

pythonで電子メールを送信する: 電子メール-Python-utf-8電子メールを送信する方法?

イーサネットの場合は、netplugdを使用し、upまたはdownステートメントを使用します。
buntuマンページ:netplugd-ネットワークケーブルホットプラグ管理デーモン

1