Linux как отключить usb порты

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

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

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

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

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

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

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

перекомпиливаешь ядро, Device Drivers -> USB -> USB Storage, USB Storage убрать галочку. либо тут написано http://www.cyberciti.biz/faq/linux-disable-modprobe-loading-of-usb-storage-dr.

или blacklist usb-storage или как там этот модуль зовётся

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

чорд, я всё перепутал, сорри

У меня есть: /etc/modprobe.d/fbdev-blacklist.conf

Просто добавить в него «blacklist usb-storage»?

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

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

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

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

Можете рассказать поподробнее, как это делается, похоже это именно то, что мне нужно.

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

Это что, жаваскрипт?

Это синтаксис правил polkit.

Сишный это синтаксис.

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

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

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

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

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

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

Читайте также:  Как посмотреть последний запуск windows

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

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

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

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

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

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

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

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

Думаю, нужно рубить проблему на корню — не давать пользователю монтировать ФС и работать напрямую с блочными устройствами(dd if=

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

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

Источник

Системное администрирование и мониторинг Linux/Windows серверов и видео CDN

Статьи по настройке и администрированию Windows/Linux систем

  • Полезное
    • Карта сайта
    • Мой сайт-визитка
  • Рубрики
    • Linux
      • VoIP
      • Безопасность
      • Видеопотоки
      • Системы виртуализации
      • Системы мониторинга
    • Windows
    • Интересное
    • Сеть и Интернет
  • Мета
    • Войти
    • RSS Feed

Включение/выключение питания USB устройств из консоли

Иногда бывают ситуации, когда нужно отключить USB флешку, сделать настройку какой-то программы и потом опять подключить для нормальной работы. Но что делать если эти действия нужно сделать на удаленном сервере, к которому у нас нет физического доступа. Можно обратиться в службу поддержки, но можно и сделать все своими силами «не отходя от кассы». Расскажу как это делается.

Допустим, наша флешка уже втыкнута в USB-порт. Первым делом нужно проверить так ли это.

Как видим, USB-флешка находиться на шине Bus 001. Следовательно нам нужно найти в /sys/bus/usb/devices/ соответствующее USB устройство и выключить питание.

Чтобы копаться в системных устройствах нужны права суперпользователя.

По скольку мы знаем, что наша USB флешка на физической шине с номером 1. Следовательно, нужно отключить питание устройства 1-6, так как именно оно отвечает за первую шину.

Приведенная выше команда, отключит питание устройства на лету. Проверим теперь, так ли это.

Читайте также:  Как установить kaspersky endpoint security для windows

Как видим — устройство отключено.
После внесения нужных изменений, подключаем питание USB устройства.

Источник

Управление питанием USB (вкл./Выкл.) С помощью linux

Можно ли включать/отключать источники питания с USB вручную с помощью linux?

Там этот внешний USB-вентилятор охлаждения (тот, который вы используете, чтобы остыть, а не ПК), и было бы неплохо управлять им с терминала, потому что я хочу разместить вентилятор где-то далеко.

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

Примечание. Информация в этом ответе актуальна для старых ядер (до 2.6.32). См. ответ tlwhitec для информации о новых ядрах.

(Вам может потребоваться изменить usb1 на usb n)

В соответствии с docs было внесено несколько изменений в управление питанием USB из ядер 2.6.32, которые, по-видимому, оседают в 2.6.38. Теперь вам нужно подождать, пока устройство станет idle, которое определяется конкретным драйвером устройства. Драйверу необходимо его поддерживать, иначе устройство никогда не достигнет этого состояния. К несчастью, теперь у пользователя нет никаких шансов на это. Однако, если вам повезет, и ваше устройство может простаивать, то для его отключения необходимо:

или, для ядер около 2.6.38 и выше:

Это буквально означает, что приостановить в тот момент, когда устройство перестает работать.

Поэтому, если ваш вентилятор не является чем-то “интеллектуальным”, который можно рассматривать как устройство и управляемым драйвером, вам, вероятно, не повезет с текущими ядрами.

Я нашел эти решения, которые, по крайней мере, работают для правильно сконфигурированного микросхемы концентратора Terminus FE 1.1 USB:

1. Чтобы отключить питание всех USB-портов концентратора, вы можете отсоединить концентратор от ядра, используя:

чтобы снова включить питание – вы можете связать его с помощью

2. Мощность переключения на каждом порту индивидуально сложнее: я смог использовать hubpower для управления каждым портом – но он поставляется с недостаток: hubpower сначала отключает usbdevfs, из-за чего все USB-устройства выходят из системы, по крайней мере, на ubuntu:

При отключенном ioctl мне удалось отключить отдельную мощность порта, не отсоединяя все устройства, – но питание сразу возвращается (возможно, из-за того, что ядро ​​видит неинициализированное устройство), что заставляет USB-устройство просто “холодно” перезагрузка “, что я обычно хотел сделать. Мой исправленный hubpower здесь

PowerTOP от Intel позволяет в реальном времени переключать устройства, такие как USB-периферия. Они называются перестраиваемыми.

  • Перейдите на “настраиваемые”.
  • Прокрутите вниз до своего устройства.
  • Нажмите Enter, чтобы переключить режим энергосбережения (Хорошо/Не хорошо)

Обратите внимание, что Bad означает, что устройство всегда включено. Переключение на Хорошо выключит устройство после заданного неактивного времени сохранения (по умолчанию 2000 мс).

См. документацию PowerTOP для получения подробной информации о том, как сделать эти изменения постоянными.
Он генерирует скрипты конфигурации для вас (в значительной степени как описано другими авторами в этой теме).

Читайте также:  Яндекс браузер когда будет для linux mint

ПРИМЕЧАНИЕ. Эти сценарии не влияют на питание контактов USB (которое всегда включено).
Они только отправляют протокол драйвера для активации и деактивации устройства.

Если вы хотите контролировать питание контактов, вы можете использовать либо поддерживаемый интеллектуальный USB-концентратор, либо, что еще лучше, микроконтроллер.

Вы можете использовать uhubctl – утилиту командной строки для управления питанием USB на порт для совместимых концентраторов USB.

Раскрытие – я автор uhubctl.

Я хотел сделать это, и с помощью своего USB-оборудования я не смог. Я написал хакерский способ, как это сделать здесь: http://pintant.cat/2012/05/12/power-off-usb-device/. Короче говоря: я использовал USB-реле для открытия/закрытия Vc другого USB-кабеля…

работает для ubuntu

Питание USB 5 В всегда включено (даже когда компьютер выключен, на некоторых компьютерах и на некоторых портах.) Вам, вероятно, потребуется запрограммировать Arduino с каким-то переключателем и управлять им через последовательную библиотеку с USB-подключенного устройства в компьютер.

Другими словами, комбинация this переключает учебник и это руководство по передаче через Serial libary в Arduino, подключенное через USB.

У меня была проблема при подключении моего телефона Android, я не мог заряжать свой телефон, потому что выключатель питания включен, а затем выключен…
PowerTop позволил мне найти этот параметр и был полезен, чтобы исправить проблему (авто значение вызывало проблему):

Причина, по которой люди пишут такие вопросы, связана с тем, что dreaded- действительно “EVIL” – функция “Автоподвеска USB”.

Автоматическая приостановка отключает питание “незанятого” USB-устройства, и если драйвер устройства не поддерживает эту функцию правильно, устройство может стать недоступным. Таким образом, включение/выключение USB-порта является признаком проблемы, а не самой проблемой.

Я покажу вам, как ГЛОБАЛЬНО отключить автоматическую приостановку, избавляя от необходимости вручную переключать порты USB на & выкл:

Краткий ответ:

Вам НЕ нужно редактировать “autosuspend_delay_ms” по отдельности: автоматическое отключение USB можно отключить глобально и НАСТОЯЩЕЕ с помощью следующих команд:

В конце “Длинного ответа” приведен скриншот Ubuntu 18.04, показывающий, как были достигнуты мои результаты.

Длинный ответ:

Действительно, Документация по ядру управления питанием USB заявляет, что автоподвеска не рекомендуется и вместо нее используется autosuspend_delay_ms, используемая для отключения автоподвески USB:

ОДНАКО мое тестирование показало, что настройка usbcore.autosuspend=-1 в /etc/default/grub, как показано ниже, может использоваться в качестве GLOBAL переключателя для автоматической приостановки USB functionality-, которую вы НЕ нужно редактировать отдельные файлы “autosuspend_delay_ms“.

В том же документе, указанном выше, указано, что значение “0” равно ENABLED, а отрицательное значение ОТКЛЮЧЕНО:

На аннотированном скриншоте Ubuntu 18.04 ниже, иллюстрирующем, как мои результаты были достигнуты (и воспроизводимы), обратите внимание, что по умолчанию установлено значение “0” (включено) в autosuspend_delay_ms.

Затем обратите внимание, что после ТОЛЬКО установки usbcore.autosuspend=-1 в Grub эти значения теперь становятся отрицательными (отключенными) после перезагрузки. Это избавит меня от необходимости редактировать отдельные значения и теперь может отключить автоматическое отключение USB.

Надеюсь, что это делает отключение автоподвески USB немного легче и более scriptable-

Источник

Оцените статью