Date: Tue, 06 Jan 2009 12:52:18 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: hselasky@c2i.net 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 Message-ID: <20090106.125218.1159136480.imp@bsdimp.com> In-Reply-To: <200901062024.31100.hselasky@c2i.net> References: <7d6fde3d0901061110r79333a07jf4eb134224a94747@mail.gmail.com> <20090106.121521.2007157328.imp@bsdimp.com> <200901062024.31100.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200901062024.31100.hselasky@c2i.net> Hans Petter Selasky <hselasky@c2i.net> writes: : On Tuesday 06 January 2009, M. Warner Losh wrote: : > In message: <7d6fde3d0901061110r79333a07jf4eb134224a94747@mail.gmail.com> : > : > "Garrett Cooper" <yanefbsd@gmail.com> writes: : > : On Tue, Jan 6, 2009 at 10:32 AM, Hans Petter Selasky <hselasky@c2i.net> : 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. It isn't good to have a set of permissions hidden from devfs. But I know that I'm not the first to mention this defect in usb2. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090106.125218.1159136480.imp>