0008 — Usbguard
Купил на днях себе монитор — ViewSonic VP3268-4K. Открыл коробку, а у него сзади очень удобная панель для подключения USB-устройств. Лично для меня важная штука, потому что системник стоит не в конуре под столом, а рядом с ним. Про дизайн столов мне таки тоже есть что сказать, но потом.
Подключил я, значит, идущий в комплекте шнур. Воткнул в гнездо кабель WEB-камеры. Не работает. Открыл Zoom, а он не видит её. Ну, бывает. У меня иногда клавиатура отваливается, или камера, или ещё какая магия происходит (на самом деле не магия, а программные и аппаратные ошибки, разработчики всего этого не святые).
Выдернул, вставил. Не работает!
Потом клавиатура отказала. Гнездо что ли сжёг? Вставил в другое. Не работает! Монитор бракованный? Воткнул напрямую. Не работает. Может, дело в клавиатуре? Взял из запасов старую, надёжную. Не-а.
С помощью мыши перезагрузил компьютер, зашёл в EFI — клавиатуры обе рабочие, гнёзда тоже. Проблема 100% в софте, а не железе. Оказывается, в Debian сработала программа USBGuard. По идее она должна защищать меня от всяких левых USB-устройств, а не делать мою жизнь сложнее.
По какой-то причине все USB-устройства на моём компьютере попали в список запрещённых. В выводе dmegs
при этом можно увидеть вот такое:
Device is not authorized for usage
Чтобы решить проблему, необходимо:
Получить список заблокированных USB-устройств:
usbguard list-devices --blocked
Рядом с каждым устройством будет его идентификатор, с которым работает USBGuard. Выполните команду разблокировки:
usbguard allow-device --permanent <ID устройства>
Чтобы разблокировать все имеющиеся устройства, выполните скрипт со страницы в Debian Wiki:
for d in /sys/bus/usb/devices/*/authorized; do echo 1 > $d; done
Сгенерируйте новые постоянные правила, разрешающие использование этих устройств:
usbguard generate-policy | sudo diff - /etc/usbguard/rules.conf