Ответ
Основной способ — добавить пользователя в соответствующую группу, которая имеет доступ к USB-устройствам через udev. Это безопаснее, чем давать права sudo или менять владельца устройства напрямую.
Стандартный метод (через группы):
-
Определите, к каким группам принадлежат ваши USB-устройства. Обычно это
plugdev(для съемных устройств) илиusb.ls -l /dev/bus/usb/*/* # crw-rw-r-- 1 root plugdev 189, 0 мая 15 10:00 /dev/bus/usb/001/001 -
Добавьте пользователя в нужную группу (чаще всего
plugdev).sudo usermod -aG plugdev <username> # Или для usb sudo usermod -aG usb <username> -
Пользователю необходимо выйти из системы и зайти заново, чтобы изменения вступили в силу.
Альтернативный метод (если группы нет или нужен специфичный доступ):
Создайте собственное правило udev в /etc/udev/rules.d/, например, 99-myusb.rules.
# Даем группе 'developers' права на чтение/запись ко всем USB-устройствам
SUBSYSTEM=="usb", GROUP="developers", MODE="0666"
# Более специфичное правило для конкретного устройства по vendor/product ID
SUBSYSTEM=="usb", ATTR{idVendor}=="1234", ATTR{idProduct}=="5678", GROUP="developers", MODE="0666"
После создания или изменения правил udev, примените их:
sudo udevadm control --reload-rules && sudo udevadm trigger
# Или просто перезагрузите систему
Важно: Использование MODE="0666" (чтение+запись для всех) может быть небезопасным в продакшене. Лучше создавать отдельную группу и назначать права только ей.