web-dev-qa-db-fra.com

Comment recevoir une notification par courrier électronique lorsqu'un périphérique de stockage USB est inséré?

Nous exploitons plus de 600 systèmes Ubuntu dans notre société. C'est un centre de données, donc nous avons certaines politiques. Nous avons désactivé l'utilisation des périphériques de stockage dans tous les systèmes Ubuntu. Cependant, nous aimerions configurer les alertes par courrier électronique. Si quelqu'un insère des périphériques de stockage, nous devrions recevoir une alerte email avec le sujet ci-dessous,

Alerte Email:

STORAGE DEVICE FOUND on IP: 172.29.35.18

Remarque:

  • Où que pour le système Windows, nous avons certaines politiques appliquées dans notre DC. Donc, il n'y a pas de problème avec le système Windows.
  • Nous devons également recevoir des alertes pour le système Ubuntu. N'importe quel moyen d'accomplir la tâche ci-dessus serait formidable.

Mise à jour:

  • Peu de choses que je voudrais clarifier, si l'utilisateur déconnecte le câble de réseau et si l'utilisateur utilise USB pour le transfert de données? Je sais que je n'aurai aucune indication, mais plus tard, s'ils se connectent au réseau, est-il possible d'obtenir les notifications en attente?
  • Certains utilisent USB pour charger leurs téléphones mobiles, est-il possible d’obtenir des notifications par courrier électronique pour cela aussi ??
27
karthick87

Pour ce faire, utilisez une règle dev qui s'appliquera à tous les périphériques de stockage USB de tous les fabricants. Pour la partie courrier électronique, notez qu'Ubuntu Desktop n'inclut PAS de client de messagerie en ligne de commande. Par conséquent, à moins que vous ne souhaitiez en installer un, le script de notification doit communiquer directement via vos commandes SMTP brutes avec votre serveur de messagerie local.

25
ish

Vous pouvez utiliser Cuttlefish ( https://apps.ubuntu.com/cat/applications/cuttlefish/ )!

Cuttlefish est un programme qui peut effectuer des actions lorsque des événements se produisent. Par exemple, vous pouvez exécuter une commande lorsqu'une clé USB est connectée: enter image description here

Comment travailler avec la seiche:

  1. Créez un nouveau réflexe à partir du coin supérieur gauche: enter image description here
  2. Donnez-lui le nom de votre choix, activez Activated by stimulus, puis cliquez sur None pour sélectionner un stimulus: enter image description here
  3. Cliquez à gauche Hardware et à droite USB device plugged in. Puis cliquez sur OK. enter image description here
  4. Cliquez sur l'onglet réaction et cliquez sur le signe plus en bas à gauche: enter image description here
  5. Allez dans Applications-> Démarrer l'application (mode avancé). Puis cliquez sur OK. enter image description here
  6. Maintenant, à droite, vous pouvez voir que vous pouvez sélectionner un exécutable à exécuter avec tous les paramètres de votre choix. Vous devez donc laisser Cuttlefish s'exécuter dans la barre d'état système. Votre commande sera exécutée chaque fois qu'un périphérique USB est branché: enter image description here

Je suppose que vous connaissez une commande que vous pouvez utiliser pour envoyer votre email. Si ce n'est pas le cas, postez-le sous forme de commentaire afin de l'inclure dans ma réponse.

18
hytromo

Selon ce réponse , ajoutez ce code à /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"

et dans le fichier usb.sh, ajoutez ce code

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

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

source


    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

Ce script n'est pas testé et le processus d'automatisation sera amélioré.
Dès que j'ai configuré des PC de test.

3
blade19899

Vous serez en mesure de voir tout nouveau périphérique USB qui ne capte pas uniquement le pouvoir du serveur (normalement, les téléphones sont compris)

Pour la partie USB: Comment puis-je écouter les événements 'périphérique USB inséré' sous Linux, en Python?

Envoi d'un courrier électronique dans python: email - Python - Comment envoyer un courrier électronique à utf-8?

Pour Ethernet, utilisez netplugd et utilisez les instructions up ou down:
page de manuel Ubuntu: netplugd - démon de gestion de câble réseau à chaud

1
Antoine Rodriguez