Как получить уведомление по электронной почте при подключении USB-накопителя?

В нашей компании работает более 600 систем Ubuntu. Это дата-центр, поэтому у нас есть определенные правила. Мы отключили использование устройств хранения во всех системах Ubuntu. Однако мы бы хотели настроить оповещения по электронной почте. Если кто-то вставляет устройства хранения, мы должны получить уведомление по электронной почте с темой, как показано ниже:

Уведомление по электронной почте:

STORAGE DEVICE FOUND on IP: 172.29.35.18

Примечание.

  • Что касается системы Windows, в нашем DC применяются определенные политики. Таким образом, нет проблем с системой Windows.
  • Нам также нужно получать оповещения для системы Ubuntu. Любой способ выполнить вышеупомянутую задачу был бы великолепен.

Обновление:

  • Несколько вещей, которые я хотел бы уточнить, если пользователь отключает сетевой кабель и использует ли он USB для передачи данных? Я знаю, что я не получу никаких уведомлений, но позже, если они подключатся к сети, возможно ли получить эти ожидающие уведомления ??
  • Некоторые используют usb для зарядки своих мобильных телефонов, возможно ли также получать уведомления по электронной почте об этом ??
27
задан 29 September 2012 в 15:30

4 ответа

Вы можете использовать Cuttlefish ( https://apps.ubuntu.com/cat/applications/cuttlefish/ )!

Cuttlefish - это программа, которая может выполнять действия при возникновении событий. Например, вы можете запустить команду при подключении USB: enter image description here

Как работать с Cuttlefish:

  1. Создать новый рефлекс из левого верхнего угла угол: enter image description here
  2. Дайте ему имя вашего предпочтения, включите Activated by stimulus и нажмите None, чтобы выбрать стимул: enter image description here
  3. [ 1114] Нажмите слева Hardware и справа USB device plugged in. Затем нажмите ОК. enter image description here
  4. Нажмите на вкладку реакции и нажмите на знак плюса в левом нижнем углу: enter image description here
  5. Перейдите в Приложения-> Запустить приложение (расширенный режим ). Затем нажмите ОК. enter image description here
  6. Теперь, справа, вы можете видеть, что вы можете выбрать исполняемый файл для запуска с любыми параметрами, поэтому вы должны позволить Cuttlefish работать в системном трее, и он будет запускайте вашу команду каждый раз, когда подключено USB-устройство: enter image description here

Я предполагаю, что вы знаете команду, которую вы можете использовать для отправки электронной почты. Если нет, пожалуйста, опубликуйте его как комментарий, чтобы включить его в мой ответ.

0
ответ дан 29 September 2012 в 15:30

Вы сможете увидеть любое новое USB-устройство, которое не только захватывает мощность сервера (обычно включает в себя телефоны)

Для части USB: Как я могу слушать события 'usb device вставлены' в Linux, в Python?

Отправка электронной почты в python: электронная почта - Python - Как отправить электронную почту utf-8? [ 116]

Для Ethernet используйте netplugd и используйте операторы up или down:
Ubuntu Manpage: netplugd - демон управления горячим подключением сетевого кабеля

0
ответ дан 29 September 2012 в 15:30

Способ сделать это - использовать правило udev , которое будет применяться ко всем USB-устройствам хранения данных любого производителя. Что касается почтовой части, обратите внимание, что Ubuntu Desktop НЕ включает в себя какой-либо почтовый клиент командной строки, поэтому, если вы не хотите его устанавливать, сценарий уведомлений должен напрямую связываться через локальные команды SMTP с вашим локальным почтовым сервером.

0
ответ дан 29 September 2012 в 15:30

Согласно этому ответу , добавьте этот код в /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

Этот сценарий не тестировался , и процесс автоматизации будет улучшен.
Как только я настрою несколько тестовых ПК.

0
ответ дан 29 September 2012 в 15:30

Другие вопросы по тегам:

Похожие вопросы: