Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 134691 - UDEV USB_DEVICE permission issue
Summary: UDEV USB_DEVICE permission issue
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Greg Kroah-Hartman (RETIRED)
URL:
Whiteboard:
Keywords:
: 151138 151741 156227 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-05-28 13:26 UTC by Marcellus Wallace
Modified: 2006-11-25 09:19 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcellus Wallace 2006-05-28 13:26:26 UTC
udev doesn't set up correct permissions for usb_devices, such as my libgphoto2 camera.


la /dev/bus/usb/001/013
crw-rw-r-- 1 root root 189, 12 May 28 22:23 /dev/bus/usb/001/013

is set up according the rule: 

/etc/udev/rules.d/50-udev.rules
SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"

which makes it impossible to use, in my case, a camera as $USER in $GROUP "plugdev", i changed the rule to: 

SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="plugdev", MODE="0664"


which works like a breeze ;)

PATCH:
diff -u  /etc/udev/rules.d/50-udev.rules /etc/udev/rules.d/50-udev.rules.org
--- /etc/udev/rules.d/50-udev.rules     2006-05-28 22:15:16.000000000 +0200
+++ /etc/udev/rules.d/50-udev.rules.org 2006-05-28 22:15:38.000000000 +0200
@@ -295,7 +295,7 @@
 #####################################

 # usbfs-like device nodes
-SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="plugdev", MODE="0664"
+SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"


 # Module autoloading






Portage 2.1_rc3 (default-linux/amd64/2006.0, gcc-3.4.6, glibc-2.4-r3, 2.6.16-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.16-gentoo-r8 x86_64 AMD Athlon(tm) 64 Processor 3700+
Gentoo Base System version 1.12.0
ccache version 2.4 [disabled]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r1
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -pipe -fno-ident "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -march=athlon64 -pipe -fno-ident "
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy distlocks metadata-transfer sandbox sfperms strict userpriv"GENTOO_MIRRORS="http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -s"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/media/sdb7/quickpkg"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/ipl_ebuilds"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X a52 aac acpi alsa amr arts asf avi berkdb bitmap-fonts bluetooth cdr cli crypt cups directfb dri dts dvd dvdread eds emboss encode fbcon flac foomaticdb gcj gif glibc-omitfp gnome gphoto2 gpm gstreamer gtk gtk2 imlib isdnlog java joystick jpeg kde kdeenablefinal libcaca lirc lzw lzw-tiff mad matroska mng motif mp3 mpeg mplayer msn musepack mysql nas ncurses network nls nptl nptlonly nvidia ogg oggvorbis openal opengl oss pam pcre pdflib perl pic png posix pppd python qt quicktime readline reflection rtc sdl session spell spl ssl svg tcpd threads tiff truetype truetype-fonts type1-fonts unicode usb userlocales v4l vcd vorbis x264 xine xinerama xmms xorg xpm xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_joystick kernel_linux linguas_de userland_GNU video_cards_nv video_cards_nvidia video_cards_vesa"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-05-28 13:32:30 UTC
# grep usb_device /etc/udev/rules.d/50-udev.rules
SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"

# emerge -pv udev

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-fs/udev-090  0 kB 
Comment 2 Marcellus Wallace 2006-05-28 14:21:32 UTC
# grep usb_device /etc/udev/rules.d/50-udev.rules
SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf
bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"


makes it for a user NOT possible to use the device, unless he's in group "root", should really be changed to:

SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf
bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="plugdev",
MODE="0664"

at least a user in "plugdev" is able to use the usb_device then.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-05-28 14:25:05 UTC
As said, this is FIXED in 090 at least... I don't see what's your point here in reopening this bug.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-05-28 14:27:16 UTC
Sigh, for starters, it would really help to NOT post reversed patches... :/
Comment 5 Marcellus Wallace 2006-05-28 14:53:41 UTC
emerge --sync ; emerge udev; etc-update ; grep /etc/udev/rules.d/50-udev.rules

[..]

SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf
bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", NAME="%c", MODE="0644"


It obviously isnt updated, sorry, if I got something wrong.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-05-28 15:13:23 UTC
(In reply to comment #5)
> It obviously isnt updated, sorry, if I got something wrong.

Once again - you did post a *reversed* patch, causing all this confusion. See Comment #0. 

Comment 7 Paul Bredbury 2006-06-11 07:25:59 UTC
The issue here is the 6 vs 4 for the *group* permissions. E.g. to use my scanner, I have:

/etc/udev/rules.d/91-local.rules:
BUS="usb", SYSFS{product}="CanoScan", GROUP="scanner", MODE="0660"

This setting up of custom local rules is a *lot* safer than changing the default for groups from read-only to read/write. So I'd suggest marking this bug WONTFIX.
Comment 8 Greg Kroah-Hartman (RETIRED) gentoo-dev 2006-06-12 09:30:14 UTC
Ok, marking will not fix.
Comment 9 Christian Faulhammer (RETIRED) gentoo-dev 2006-10-13 03:29:39 UTC
*** Bug 151138 has been marked as a duplicate of this bug. ***
Comment 10 Jakub Moc (RETIRED) gentoo-dev 2006-10-17 12:59:10 UTC
*** Bug 151741 has been marked as a duplicate of this bug. ***
Comment 11 Paul Bredbury 2006-10-17 13:13:13 UTC
For the benefit of the duplicated bugs, the "="s in later udev versions (assignation vs test for equality) should be:

BUS=="usb", SYSFS{product}=="CanoScan", GROUP="scanner", MODE="0660"
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2006-11-25 09:19:04 UTC
*** Bug 156227 has been marked as a duplicate of this bug. ***