On Mar 9, 2010, at 7:38 PM, Kelvin Ku wrote:
> On Tue, Mar 09, 2010 at 07:14:59PM -0500, Charles Lepple wrote:
>> On Mar 9, 2010, at 5:54 PM, Kelvin Ku wrote:
>>
>>> However, if I try to run usbhid-ups as user "nut", I get:
>>>
>>> $ sudo -u nut ./usbhid-ups -a usb
>> [...]
>>> Whereas if I run it as root:
>>>
>>> $ sudo ./usbhid-ups -a usb -u root
>>
>> Did you pass "--with-user=nut" to ./configure?
>>
>> If so, you should be able to test with just "sudo ./usbhid-ups -a
>> usb"
>> (use sudo for root access, and let the driver setuid() to
"nut".)
>>
>> For the upsd issue, check your state path and pid paths (also
>> options to
>> ./configure).
>>
>
> Sorry, I should have clarified this. My configure options were:
>
> ./configure --with-user=nut --with-group=dialout --with-statepath=/
> var/run/
> nut --with-pidpath=/var/run/nut --with-altpidpath=/var/run/nut --
> sysconfdir=/
> etc/ups --with-drvpath=/sbin --with-all --with-pkgconfig-dir=/usr/lib/
> pkgconfig --disable-static --without-ipv6
>
> mostly ripped from the Fedora 12 2.4.1 specfile. I'm pretty sure the
> --with-user=nut options is in effect since I instrumented
> libusb_get_report to
> print the results of getresuid().
If so, then my original suggestion still stands: "sudo ./usbhid-ups -a
usb"