8.2 Ограничение доступа к USB накопителям

Алгоритм создания белого списка USB-флеш-накопителей состоит из 2 этапов:

  1. Запрет монтирования всех USB-флеш-накопителей
  2. Разрешение монтирования некоторых устройств

Первый этап – запрет автомонтирования

Для отключения автомонтирования USB-флеш-накопителей нужно будет создать правило для udev.

Создаем файл /etc/udev/rules.d/99-usb.rules

nano /etc/udev/rules.d/99-usb.rules

со следующим содержанием:

ENV{ID_USB_DRIVER}=="usb-storage",ENV{UDISKS_IGNORE}="1"

Флаг ENV{UDISKS_IGNORE} отвечает за «Игнорировать ли устройство». “0” – false, “1” — true

Для того, чтобы новое правило вступило в силу, нужно ввести команду обновления правил udev

sudo udevadm control --reload-rules

После этого, можете проверить и подключить USB-флеш-накопитель, как результат, он не откроется.

Для создания белого списка USB-флеш-накопителей, нужно знать атрибуты накопителя.

1) Определяем нашу флешку:

ls -l /dev/sd*

brw-rw---- 1 root disk 8, 0 июн 30 12:59 /dev/sda 

brw-rw---- 1 root disk 8, 1 июл 22 12:59 /dev/sda1 

brw-rw---- 1 root disk 8, 2 июл 22 12:59 /dev/sda2 

brw-rw---- 1 root disk 8, 3 июн 30 12:59 /dev/sda3 

brw-rw---- 1 root disk 8, 16 июл 22 13:43/dev/sdb # нужная нам строка

brw-rw---- 1 root disk 8, 17 июн 30 13:43 /dev/sdb1 

2) Смотрим атрибуты:

$ udevadm info -a -p /sys/block/sdb #символы после sd* вводите в соответствии с вашим выводом $ ls -l /dev/sd*

Примеры выбора устройств по определенным свойствам

Выборка по серийному номеру устройства

ATTRS{serial}=="04GS1F3LBIBDWU05",ENV{UDISKS_IGNORE}="0"

 

Выборка по названию модели. Точное название смотрите в выводе команды

$ udevadm info -a -p /sys/block/sdb

ATTRS{model}=="Silicon-Power8G ",ENV{UDISKS_IGNORE}="0"

 

Выборка по максимальному потреблению тока

ATTRS{bMaxPower}=="200mA",ENV{UDISKS_IGNORE}="0"

 

Конечный вариант файла /etc/udev/rules.d/99-usb.rules:

ENV{ID_USB_DRIVER}=="usb-storage",ENV{UDISKS_IGNORE}="1"
ATTRS{serial}=="04GS1F3LBIBDWU05",ENV{UDISKS_IGNORE}="0"
ATTRS{model}=="Silicon-Power8G ",ENV{UDISKS_IGNORE}="0"
ATTRS{bMaxPower}=="200mA",ENV{UDISKS_IGNORE}="0"

Для того, чтобы новое правило вступило в силу, нужно ввести команду обновления правил udev

sudo udevadm control --reload-rules

Полный список атрибутов, по которым можно осуществить выборку, находится в выводе команды:

udevadm info -a -p /sys/block/sdb

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.