Using a scanner (USB) as user and not as root

David DEMELIER demelier.david at gmail.com
Thu Apr 29 20:32:40 UTC 2010


2010/4/28 Warren Block <wblock at wonkity.com>:
> On Wed, 28 Apr 2010, Marco Beishuizen wrote:
>
>> On Wed, 28 Apr 2010, Roland Smith wrote:
>>
>>> Are the permissions correct? Check with 'ls -l /dev/usb/ /dev/ugen*'.
>>> Is your user-id in the usb group? Check by running 'id' as the normal
>>> user.
>>>
>>> If all that is in order, remove all lines except the three above from
>>> /etc/devfs.rules, and try again.
>>
>> Running id as user looks ok:
>>
>> uid=1001(marco) gid=0(wheel) groups=0(wheel),5(operator),1001(usb)
>>
>> But the permissions are not:
>>
>> ls -l /dev/usb/ /dev/ugen*
>> lrw-rw-r--  1 root  usb  9 Apr 28 19:05 /dev/ugen0.1 -> usb/0.1.0
>> lrw-rw-r--  1 root  usb  9 Apr 28 19:05 /dev/ugen1.1 -> usb/1.1.0
>> lrw-rw-r--  1 root  usb  9 Apr 28 21:05 /dev/ugen1.2 -> usb/1.2.0
>> lrw-rw-r--  1 root  usb  9 Apr 28 21:05 /dev/ugen1.3 -> usb/1.3.0
>> lrw-rw-r--  1 root  usb  9 Apr 28 19:05 /dev/ugen2.1 -> usb/2.1.0
>>
>> /dev/usb/:
>> total 0
>> crw-------  1 root  operator    0,  87 Apr 28 19:05 0.1.0
>> crw-------  1 root  operator    0,  93 Apr 28 19:05 0.1.1
>> crw-------  1 root  operator    0,  89 Apr 28 19:05 1.1.0
>> crw-------  1 root  operator    0,  94 Apr 28 19:05 1.1.1
>> crw-------  1 root  operator    0, 104 Apr 28 21:05 1.2.0
>> crw-------  1 root  operator    0, 105 Apr 28 21:05 1.2.1
>> crw-------  1 root  operator    0, 117 Apr 28 21:05 1.3.0
>> crw-------  1 root  operator    0, 119 Apr 28 21:05 1.3.1
>> crw-------  1 root  operator    0,  91 Apr 28 19:05 2.1.0
>> crw-------  1 root  operator    0,  95 Apr 28 19:05 2.1.1
>
> You can use devd.conf for this:
>
> attach 100 {
>        device-name "ugen[0-9].[0-9]";
>        match "vendor" "0x04b8";
>        match "product" "0x010a";
>        action "usb_devaddr=`echo $device-name | sed 's#^ugen##'` && \
>                chown root:saned /dev/usb/${usb_devaddr}.* && \
>                chmod 0660 /dev/usb/${usb_devaddr}.*
>
> Copied from a post on -current or similar; apologies to the author, who I've
> forgotten.  I thought this was in the default devd.conf as an example, but
> it appears not.
>
> devfs.rules don't apply to devices that are created dynamically after
> boot-up.  Or I guess they might be if you reload the ruleset with applyset
> after the device is created, but devd is a lot more capable.
>
from devfs.rules(5) :

NAME
     devfs.rules — devfs configuration information

DESCRIPTION
     The devfs.rules file provides an easy way to create and apply devfs(8)
     rules, *even for devices that are not available at boot.*

But devfs.rules is specially made for device not available at boot
such as usb keys.

> -Warren Block * Rapid City, South Dakota USA
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>



-- 
Demelier David


More information about the freebsd-questions mailing list