67 lines
1.7 KiB
Markdown
67 lines
1.7 KiB
Markdown
# usbsearch
|
|
|
|
`usbsearch` — bash-скрипт для **поиска и анализа событий подключения USB-устройств** в системе Linux.
|
|
Работает **универсально**: автоматически определяет, используется ли `systemd (journalctl)` или классические лог-файлы `/var/log`.
|
|
|
|
---
|
|
|
|
## Использование
|
|
|
|
### Загрузить скрипт либо склонить репозиторий
|
|
|
|
```bash
|
|
wget https://git.pikusone.ru/pikus/usbsearch/raw/branch/main/usbsearch.sh
|
|
```
|
|
|
|
либо
|
|
|
|
```bash
|
|
git clone https://git.pikusone.ru/pikus/usbsearch.git
|
|
```
|
|
|
|
### Дать права на исполнение
|
|
|
|
```bash
|
|
sudo chmod +x usbsearch.sh
|
|
```
|
|
|
|
### Запуск от root (рекомендуется)
|
|
|
|
```bash
|
|
sudo ./usbsearch.sh
|
|
```
|
|
|
|
---
|
|
|
|
## Как это работает
|
|
|
|
1. Скрипт проверяет:
|
|
|
|
* доступен ли `journalctl`
|
|
* есть ли доступ к журналу systemd
|
|
2. Если **systemd доступен**:
|
|
|
|
* используется `journalctl -k`
|
|
3. Если **systemd недоступен**:
|
|
|
|
* анализируются файлы `/var/log/kern.log*`
|
|
4. Из логов извлекаются события:
|
|
|
|
* `New USB device found`
|
|
* `Product`
|
|
* `Manufacturer`
|
|
* `SerialNumber`
|
|
* `USB Mass Storage`
|
|
|
|
---
|
|
|
|
## Пример вывода
|
|
|
|
```
|
|
-----------------------------------------------------------
|
|
Дата: янв 14 12:42:59 | VID:0b0e PID:0300
|
|
Дата: янв 14 12:42:59 | Product: Jabra EVOLVE 20 MS
|
|
Дата: янв 14 12:42:59 | Manufacturer: GN Netcom A/S
|
|
Дата: янв 14 12:42:59 | SerialNumber: 0001BF056DBE0A
|
|
```
|