Согласно strace lsof
открывает файлы устройства с правами на чтение и запись:
open("/dev/bus/usb/003/001", O_RDWR) = -1 EACCES (Permission denied)
Вы можете использовать capability CAP_DAC_OVERRIDE, чтобы дать право root на чтение и запись любого файла в системе только утилите lsusb
, запущенной определенным пользователем.
Этот ответ содержит общие инструкции по настройке возможностей.
В вашем случае /etc/security/capabilities.conf
должен выглядеть так:
CAP_DAC_OVERRIDE your_username
none *
Изменения произойдут при следующем входе в систему. Перезагрузка - самый простой вариант. Проверьте возможности пользователя:
$ capsh --print
Current: = cap_dac_override+i
...
Установка возможностей утилиты lsusb
:
$ setcap CAP_DAC_OVERRIDE+ie /bin/lsusb
$ getcap /bin/lsusb
/bin/lsusb = cap_dac_override+ie