Ubuntu 10.10 (Maverick) /dev/bus/usb некорневой ioctl отклонен

Ubuntu 10.10 (Maverick) /dev/bus/usb некорневой ioctl отклонен

Ubuntu 10.10 (Maverick).

У меня проблема с запуском программы garmin_save_runs (часть пакета garmin-forerunner-tools) от имени обычного пользователя, тогда как она работает при запуске с sudo. Выполнение без sudo работало в Ubuntu 10.04 (Lucid), и я думаю, что пакет не сильно изменился, поэтому я предполагаю, что некоторые разрешения изменились с обновлением.

Я обнаружил, что можно обойти необходимость запускать программу как sudo: $ sudo setcap CAP_DAC_OVERRIDE=ep /usr/bin/garmin_save_runs

Теперь я задаюсь вопросом:

  1. Какие изменения произошли при переходе с Lucid на Maverick, что привело к возникновению этой проблемы?
  2. Хорошее ли у меня решение setcap?
  3. Виновата ли программа?

выдержка из strace:

open("/dev/bus/usb/001/010", O_RDWR)    = -1 EACCES (Permission denied)
open("/dev/bus/usb/001/010", O_RDONLY)  = 3
ioctl(3, USBDEVFS_IOCTL or USBDEVFS_IOCTL32, 0x7ffffabef170) = -1 EPERM (Operation not permitted)
close(3)                                = 0
open("/dev/bus/usb/001/002", O_RDWR)    = -1 EACCES (Permission denied)
open("/dev/bus/usb/001/002", O_RDONLY)  = 3
ioctl(3, USBDEVFS_IOCTL or USBDEVFS_IOCTL32, 0x7ffffabef170) = -1 EPERM (Operation not permitted)
close(3)                                = 0
open("/dev/bus/usb/001/001", O_RDWR)    = -1 EACCES (Permission denied)
open("/dev/bus/usb/001/001", O_RDONLY)  = 3
ioctl(3, USBDEVFS_IOCTL or USBDEVFS_IOCTL32, 0x7ffffabef170) = -1 EPERM (Operation not permitted)
close(3)                                = 0

Связанный контент