From owner-freebsd-usb@FreeBSD.ORG Tue Jan 6 21:20:57 2009 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4EF1106564A; Tue, 6 Jan 2009 21:20:57 +0000 (UTC) (envelope-from prvs=julian=25065b919@elischer.org) Received: from smtp-outbound.ironport.com (smtp-outbound.ironport.com [63.251.108.112]) by mx1.freebsd.org (Postfix) with ESMTP id 982BB8FC12; Tue, 6 Jan 2009 21:20:57 +0000 (UTC) (envelope-from prvs=julian=25065b919@elischer.org) Received: from jelischer-laptop.sfo.ironport.com (HELO julian-mac.elischer.org) ([10.251.22.38]) by smtp-outbound.ironport.com with ESMTP; 06 Jan 2009 12:52:23 -0800 Message-ID: <4963C48B.9030005@elischer.org> Date: Tue, 06 Jan 2009 12:52:27 -0800 From: Julian Elischer User-Agent: Thunderbird 2.0.0.18 (Macintosh/20081105) MIME-Version: 1.0 To: Hans Petter Selasky References: <7d6fde3d0901061110r79333a07jf4eb134224a94747@mail.gmail.com> <200901062024.31100.hselasky@c2i.net> <20090106.125218.1159136480.imp@bsdimp.com> <200901062103.28124.hselasky@c2i.net> In-Reply-To: <200901062103.28124.hselasky@c2i.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: volker@vwsoft.com, yanefbsd@gmail.com, freebsd-bugs@freebsd.org, freebsd-usb@freebsd.org Subject: Re: bin/129963: [newusb] usbconfig(8) fails with misleading error when run as a normal user X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2009 21:20:58 -0000 Hans Petter Selasky wrote: > On Tuesday 06 January 2009, M. Warner Losh wrote: >> In message: <200901062024.31100.hselasky@c2i.net> >> >> Hans Petter Selasky writes: >> : On Tuesday 06 January 2009, M. Warner Losh wrote: >> : > In message: >> : > <7d6fde3d0901061110r79333a07jf4eb134224a94747@mail.gmail.com> >> : > >> : > "Garrett Cooper" writes: >> : > : On Tue, Jan 6, 2009 at 10:32 AM, Hans Petter Selasky >> : > : >> : >> : wrote: >> : > : > On Saturday 03 January 2009, Volker wrote: >> : > : >> On 01/03/09 01:35, Hans Petter Selasky wrote: >> : > : >> > On Wednesday 31 December 2008, vwe@freebsd.org wrote: >> : > : >> >> Synopsis: [newusb] usbconfig(8) fails with misleading error >> : > : >> >> when run as a normal user >> : > : >> >> >> : > : >> >> Responsible-Changed-From-To: freebsd-bugs->freebsd-usb >> : > : >> >> Responsible-Changed-By: vwe >> : > : >> >> Responsible-Changed-When: Wed Dec 31 12:55:52 UTC 2008 >> : > : >> >> Responsible-Changed-Why: >> : > : >> >> reassign >> : > : >> >> >> : > : >> >> http://www.freebsd.org/cgi/query-pr.cgi?pr=129963 >> : > : >> > >> : > : >> > Hi, >> : > : >> > >> : > : >> > "usbconfig" will only show USB devices which the user has access >> : > : >> > to. >> : > : >> > >> : > : >> > What should be the correct display message when no devices are >> : > : >> > accessible due to innsufficient permissions? >> : > : >> > >> : > : >> > --HPS >> : > : >> >> : > : >> Hans, >> : > : >> >> : > : >> what about "access denied" or "insufficient privileges"? >> : > : >> >> : > : >> Someone might have a better idea but everything should be better >> : > : >> than silently refusing to do anything. >> : > : >> >> : > : >> Volker >> : > : > >> : > : > Is this Ok: >> : > : > >> : > : > http://perforce.freebsd.org/chv.cgi?CH=155731 >> : > : > >> : > : > --HPS >> : > : >> : > : Eh? I still think that strerror or something along those lines would >> : > : be more helpful. >> : > : >> : > : You could also do >> : > : >> : > : if (getuid() != 0) { >> : > : errx(1, "Cluebat -- you might not be able to read the usb devices >> : > : if you're not root"); >> : > : } >> : > : >> : > : or... >> : > : >> : > : struct stat usb_s; >> : > : >> : > : int fd = open(..., O_RDONLY /* blah, blah... */); >> : > : >> : > : if (fd == -1) { >> : > : errx(1, "Does the file -- %s -- exist?", file); >> : > : } >> : > : >> : > : if (fstat(fd, &usb_s) == -1) { >> : > : errx(1, "Couldn't stat the file: %s", file); >> : > : } >> : > : >> : > : if (!S_IRUSR(usb_s.st_mode) && !S_IRGRP(usb_s.st_mode) && >> : > : !S_IROTH(usb_s.st_mode)) { >> : > : errx(1, "File not readable (do you have read permissions?)"); >> : > : } >> : > : >> : > : /* Continue on merry way reading devices; maybe use strerror(3) for >> : > : more intuitive error messages? */ >> : > : >> : > : Thoughts? >> : > >> : > Do you really have to be root to find the devices, if so, that's bad. >> : > Very bad. xsane refuses to run as root. I have: >> : >> : No, no. That's wrong. >> : >> : Do it like this for example: >> : >> : usbconfig -u xxx -a xxx set_owner xxx set_perm 660 >> : >> : This won't have no effect at all with USB2: >> : > [localrules=10] >> : > add path 'uscanner*' mode 0660 >> : > >> : > to make it work. /dev/usb* in old usb allow listing w/o privs... >> >> That's bad. I'm sorry, but having to do something weird to get the >> scanner to work every time isn't good design. > > I don't understand. If you are lazy you do: > > usbconfig -u xxx set_perm 777 how about using the standard devd stuff? why invent a completely new way of doing things for USB? > > That will give everyone access to all USB devices on the given controller "-u > xxx". Note: No "-a" argument. > > Or: > > usbconfig set_owner warner:wheel set_perm 660 > > All USB devices ever plugged on your machine will be accessible by you. > > I think Rink Springer is working on something in this area. > > --HPS > _______________________________________________ > freebsd-usb@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-usb > To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org"