Ubuntu 10.10 (Maverick) /dev/bus/usb nicht-root ioctl verweigert

Ubuntu 10.10 (Maverick) /dev/bus/usb nicht-root ioctl verweigert

Ubuntu 10.10 (Maverick).

Ich habe ein Problem damit, das Programm garmin_save_runs (Teil des Pakets garmin-forerunner-tools) als normaler Benutzer auszuführen, während es funktioniert, wenn es mit sudo ausgeführt wird. Die Ausführung ohne sudo funktionierte unter Ubuntu 10.04 (Lucid) und ich glaube, das Paket hat sich nicht sehr stark geändert, daher nehme ich an, dass sich mit dem Upgrade einige Berechtigungen geändert haben.

Ich habe herausgefunden, dass ich das Ausführen des Programms als sudo umgehen kann: $ sudo setcap CAP_DAC_OVERRIDE=ep /usr/bin/garmin_save_runs

Jetzt frage ich mich:

  1. Was hat sich von Lucid zu Maverick geändert, das dieses Problem verursacht?
  2. Ist meine Setcap-Lösung gut?
  3. Ist das Programm schuld?

strace Auszug:

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

verwandte Informationen