LINUX.ORG.RU
ФорумAdmin

Как отключить порты USB, кроме клавиатуры и мыши?

 


0

1

Добрый день! Подскажите пожалуйста, как на компьютере с Linux отключить все USB порты, так, чтобы в них не было возможности вставлять съемные накопители и флешки, но можно было бы подключать клавиатуру и мышь?

Удалить все udev правила usb кроме мыши и клавиатуры. Но последний раз я копался в udev несколько лет назад и поэтому уже могло там многое поменяться.

rezedent12 ☆☆☆ ()

в ядре отключить USB Storage, не?

anonymous ()
Ответ на: комментарий от rezedent12

А если например отключить монтирование дисков, кроме сетевых и локальных, указанных с fstab? Нужно сделать так, чтобы пользователи на предприятии не могли подключать флешки и прочие накопители к компу, но клавиатура и мышь и возможно штрих-сканер работали бы.

Shkapinsky ()
Ответ на: комментарий от Shkapinsky

man modprobe.conf.d

blacklist usb_storage >/etc/modprobe.conf.d/666.conf

anonymous ()

в иксах отключить определение клав и мышей по идентификатору с identifier keyboard и option ignore on, создав конфиг в /etc/X11/xorg.conf.d/

киоск пилишь?

anonymous ()
Ответ на: комментарий от Shkapinsky

можно создать новый файл /etc/modprobe.d/usb-blacklist.conf

в файл прописать blacklist usb_storage сохранить и ребут

anonymous ()
Ответ на: комментарий от Shkapinsky

В современных DE автомонтированием подключаемых накопителей заведует udisks и consolekit / polkit. Поэтому вам нужно отредактировать политики consolekit / polkit, разрешающие монтирование подключаемых съёмных накопителей. В таком случае автомонтирование средствами udisks происходить не будет, а в случае, если пользователь нажмёт на иконку накопителя в файловом менеджере будет выведен запрос пароля root.

Если же вы используете для автомонтирования правила udev, например набор правил uam, то удалите их.

kostik87 ★★★★★ ()
Ответ на: комментарий от Shkapinsky

В /etc/polkit-1/rules.d/10-disable-mount.rules помещаете:

polkit.addRule(function(action, subject) {
    if (action.id == «org.freedesktop.udisks.filesystem-mount») {
        return polkit.Result.NO;
    }
});

kostik87 ★★★★★ ()
Ответ на: комментарий от anonymous

В данном случае это синтаксис правил polkit, если вы напишете правило без соответствия синтаксису, то оно не будет распознано, без разницы на что синтаксис похож.

kostik87 ★★★★★ ()
Ответ на: комментарий от Shkapinsky

Нужно сделать так, чтобы пользователи на предприятии не могли подключать флешки и прочие накопители к компу, но клавиатура и мышь и возможно штрих-сканер работали бы.

Ну это проще. Всего то надо отредактировать /etc/group . Дело в том что обращаться к соответствующему демону для монтирования можно только если состоишь в определённой группе. Вроде как fuse, cdrom, floppy.

А нужные скрипты монтирования (сетевая шара или какой то специальный носитель) можно монтировать делегировав соответствующий скрипт через sudo

rezedent12 ☆☆☆ ()
Последнее исправление: rezedent12 (всего исправлений: 1)

Отключение usb-storage, в общем случае не поможет.

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

USB-HID (через который работают большинство клав и мышей) тоже довольно навороченный протокол.

Прочитать флешку можно и с помощью libusb (наверняка есть в системе).

В конце концов есть кнопка reset и загрузка с USB (во многих BIOS-ах выбор альтернативной загрузки не отключается).

arson ★★★★★ ()

Ещё /etc/group можно посмотреть на наличие юзера/группы в storage.

Что за дистр-то? А то тут долго голову можно ломать...

ephecaff ()
Ответ на: комментарий от ephecaff

Debian 6. Но я уже сделал через /etc/modprobe.d/usb-blacklist.conf, как указал anonymous, и все вроде работает, во всяком случае я попробовал после этого подключить USB флешку и диск, и они не вызвали никакой видимой реакции системы, диски не подмонтировались.

Shkapinsky ()

Можно залить разъёмы эпоксидкой или повредить их. Можно в биосе отключить USB, а мышь и клаву использовать через ps/2. В случае hardened ядра в grsec есть возможность при сборке ведра включить опцию типа «не детектировать новые USB-устройства после старта ядра», т.е. с чем забутились, с тем и дальше работаем.

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от Shkapinsky

А если при апдейте ядра название модуля поменяется(usb_storage -> usb_mass_storage, например)? А если админ захочет флешку подключить(он, конечно, модуль ручками подгрузит, но голову поломает)? И вообще, слить инфу через USB можно и в обход USB Mass Storage(например, MTP).

Думаю, нужно рубить проблему на корню - не давать пользователю монтировать ФС и работать напрямую с блочными устройствами(dd if=~/top_secret.pdf of=/dev/sdX)

ephecaff ()
Ответ на: комментарий от Shkapinsky

Но только появилась проблема - если USB-флешка была подключена до перезапуска, то она будет видна в системе и успешно примонтируется.

Shkapinsky ()
Ответ на: комментарий от Shkapinsky

добавь в параметр ядра 'nousb'. Хотя неуверен, что мышка с клавой будут работать.

PG_007 ()
Ответ на: комментарий от Shkapinsky

или радикальней удали модуль этот
sudo rm /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko

PG_007 ()

/sys/bus/usb/devices/usb*/power/{control,wakeup}

sergej ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.