Хочешь получать уведомления, когда кто-то подключает флешку к серверу или рабочей станции? Это возможно с помощью udev и небольшого скрипта.
Когда в Linux подключается новое устройство, ядро отправляет событие в подсистему udev. Мы можем отследить это событие и выполнить любую команду - например, отправить уведомление в телеграмм или записать в лог.
1️⃣ udev-правило. Создаём правило:
sudo nano /etc/udev/rules.d/99-usb-notify.rules
Пример:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z][0-9]", RUN+="/usr/local/bin/usb-notify.sh"
Это правило сработает при подключении новых разделов (например, /dev/sdb1).
2️⃣ Скрипт уведомления. Создай файл:
sudo nano /usr/local/bin/usb-notify.sh
#!/bin/bash
DEVICE="$DEVNAME"
TIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$TIME] Подключено устройство: $DEVICE" >> /var/log/usb-connect.log
# Telegram (опционально)
TOKEN="your_bot_token"
CHAT_ID="your_chat_id"
TEXT="USB подключено: $DEVICE в $TIME"
curl -s -X POST https://api.telegram.org/bot$TOKEN/sendMessage \
-d chat_id="$CHAT_ID" -d text="$TEXT" > /dev/null
Не забудь:
chmod +x /usr/local/bin/usb-notify.sh
3️⃣ Применение
sudo udevadm control --reload
sudo udevadm trigger
Проверь, подключив USB-накопитель. Устройство должно появиться, и ты получишь сообщение или запись в лог.
🌟 Советы
1. Используй
SUBSYSTEM=="usb" и ENV{ID_USB_DRIVER}=="usb-storage" для более узкой фильтрации.2. Чтобы поймать все события - смотри udevadm monitor.
3. Уведомления можно расширить: звуковое оповещение, email, системное всплывающее сообщение.
Это будет полезно на серверах, где подключение внешних накопителей должно отслеживаться.
BashTex 📱 #bash #utils