当前位置: 首页>>技术教程>>正文


插入USB存储设备后如何获取电子邮件通知?

, , ,

问题描述

我们公司中正在运行600多个Ubuntu系统。这是一个数据中心,因此我们有某些政策。我们已在所有Ubuntu系统中禁用了存储设备的使用。但是,我们想配置电子邮件警报。如果有人插入存储设备,我们将收到一封电子邮件警报,主题如下,

Email Alert:

STORAGE DEVICE FOUND on IP: 172.29.35.18

注意:

  • 对于Windows系统,我们在DC中应用了某些策略。因此,Windows系统没有问题。

  • 我们还需要接收有关Ubuntu系统的警报。任何完成上述任务的方法都会很棒。

更新:

  • 我想说明的几件事,如果用户断开了网络电缆的连接,以及用户是否使用USB进行数据传输?我知道我不会得到任何提示,但是以后如果他们连接网络,是否有可能收到那些待处理的通知?

  • 有些人使用USB为手机充电,是否还可能为此获得电子邮件通知?

最佳回答

这样做的方法是使用udev规则,该规则将适用于任何制造商的所有USB存储设备。对于电子邮件部分,请注意,Ubuntu Desktop不包含任何命令行电子邮件客户端,因此,除非您希望安装该客户端,否则通知脚本应通过原始SMTP命令直接与本地邮件服务器通信。

次佳回答

您可以使用墨鱼(https://apps.ubuntu.com/cat/applications/cuttlefish/)!

墨鱼是一个可以在事件发生时执行操作的程序。例如,您可以在插入USB时运行命令:

如何与墨鱼一起工作:

  1. 从左上角进行新的反射:

  2. 给它一个您喜欢的名称,启用Activated by stimulus,然后单击None以便选择一个刺激:

  3. 单击左侧的Hardware和右侧的USB device plugged in。然后单击确定。

  4. 单击反应选项卡,然后单击左下方的加号:

  5. 转到应用程序->启动应用程序(高级模式)。然后单击确定。

  6. 现在,在右侧,您可以选择一个可执行文件以使用任何希望的参数运行,因此,您必须让Cuttlefish在系统托盘上运行,并且每次插入USB设备时它都会运行您的命令:

我假设您知道可以用来发送电子邮件的命令。如果没有,请以评论的形式发表,以将其包含在我的回答中。

第三种回答

按照此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” example@hotmail.com

source


现在,我将尝试使其自动化,以便您可以在600个Ubuntu系统中添加此规则/脚本。

    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” example@hotmail.com " >>/usr/local/bin/usb.sh

该脚本未经测试,并且自动化过程将得到改善。一旦我安装了一些测试PC。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7788.html,未经允许,请勿转载。