X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=etc%2Fudev%2Fdebian%2Fpermissions.rules;h=205b7332920bcb413bb6d3e3403462eccc865da7;hb=98d8d24bcc668022857e1b4852ac37ce4400ddf8;hp=48510e67f6104237ce19c279cad602c5f5b96d9b;hpb=7ab16233831bb90b2ee14e7ee98c3dde77276a9e;p=elogind.git diff --git a/etc/udev/debian/permissions.rules b/etc/udev/debian/permissions.rules index 48510e67f..205b73329 100644 --- a/etc/udev/debian/permissions.rules +++ b/etc/udev/debian/permissions.rules @@ -1,73 +1,131 @@ +ACTION!="add", GOTO="permissions_end" + +# workarounds needed to synchronize with sysfs +# only needed for kernels < v2.6.18-rc1 +ENV{PHYSDEVPATH}!="?*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus" +SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", WAIT_FOR_SYSFS="ioerr_cnt" +# only needed for kernels < 2.6.16 +SUBSYSTEM=="net", WAIT_FOR_SYSFS="address" +# only needed for kernels < 2.6.17 +SUBSYSTEM=="net", ENV{DRIVER}=="?*", WAIT_FOR_SYSFS="device/driver" + +# devices needed to load the drivers providing them +KERNEL=="tun", OPTIONS+="ignore_remove" +KERNEL=="ppp", OPTIONS+="ignore_remove" +KERNEL=="loop[0-9]*", OPTIONS+="ignore_remove" + # default permissions for block devices -SUBSYSTEM="block", GROUP="disk" -SUBSYSTEM="block", SYSFS{removable}="1", GROUP="floppy" +SUBSYSTEM=="block", GROUP="disk" +# the aacraid driver is broken and reports that disks removable (see #404927) +SUBSYSTEM=="block", ATTRS{removable}=="1", \ + DRIVERS!="aacraid", GROUP="floppy" +# all block devices on these buses are "removable" +SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy" # IDE devices -BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \ - PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom*", GROUP="cdrom" -BUS="ide", KERNEL="ht[0-9]*", GROUP="tape" -BUS="ide", KERNEL="nht[0-9]*", GROUP="tape" +KERNEL=="hd[a-z]|pcd[0-9]*", DRIVERS=="ide-cdrom|pcd", \ + IMPORT{program}="cdrom_id --export $tempnode" +ENV{ID_CDROM}=="?*", GROUP="cdrom" +KERNEL=="ht[0-9]*", GROUP="tape" +KERNEL=="nht[0-9]*", GROUP="tape" # SCSI devices -BUS="scsi", SYSFS{type}="1", GROUP="tape" -BUS="scsi", SYSFS{type}="5", GROUP="cdrom" -BUS="scsi", SYSFS{type}="6", GROUP="scanner" +KERNEL=="sr[0-9]*", IMPORT{program}="cdrom_id --export $tempnode" +SUBSYSTEMS=="scsi", ATTRS{type}=="1", GROUP="tape" +SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="HP", GROUP="scanner" +SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="Epson", GROUP="scanner" +SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="EPSON", GROUP="scanner" +SUBSYSTEMS=="scsi", ATTRS{type}=="4", GROUP="cdrom" +SUBSYSTEMS=="scsi", ATTRS{type}=="5", GROUP="cdrom" +SUBSYSTEMS=="scsi", ATTRS{type}=="6", GROUP="scanner" +SUBSYSTEMS=="scsi", ATTRS{type}=="8", GROUP="tape" # USB devices -BUS="usb", KERNEL="legousbtower*", MODE="0666" +KERNEL=="legousbtower*", MODE="0666" +KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", GROUP="lp" + +# usbfs-like devices +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \ + MODE="0664" + +# iRiver music players +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="plugdev", \ + ATTRS{idVendor}=="4102", ATTRS{idProduct}=="10[01][135789]" # serial devices -SUBSYSTEM="tty", GROUP="dialout" -SUBSYSTEM="capi", GROUP="dialout" +SUBSYSTEM=="tty", GROUP="dialout" +SUBSYSTEM=="capi", GROUP="dialout" +SUBSYSTEM=="slamr", GROUP="dialout" +SUBSYSTEM=="zaptel", GROUP="dialout" # vc devices (all members of the tty subsystem) -KERNEL="ptmx", MODE="0666", GROUP="root" -KERNEL="console", MODE="0600", GROUP="root" -KERNEL="tty", MODE="0666", GROUP="root" -KERNEL="tty[0-9]*", GROUP="root" +KERNEL=="ptmx", MODE="0666", GROUP="root" +KERNEL=="console", MODE="0600", GROUP="root" +KERNEL=="tty", MODE="0666", GROUP="root" +KERNEL=="tty[0-9]*", GROUP="root" +KERNEL=="pty*", MODE="0666", GROUP="tty" # video devices -SUBSYSTEM="video4linux", GROUP="video" -SUBSYSTEM="dvb", GROUP="video" -SUBSYSTEM="graphics", GROUP="video" -SUBSYSTEM="nvidia", GROUP="video" -SUBSYSTEM="drm", GROUP="video" +SUBSYSTEM=="video4linux", GROUP="video" +SUBSYSTEM=="drm", GROUP="video" +SUBSYSTEM=="dvb", GROUP="video" +SUBSYSTEM=="em8300", GROUP="video" +SUBSYSTEM=="graphics", GROUP="video" +SUBSYSTEM=="nvidia", GROUP="video" # misc devices -KERNEL="random", MODE="0666" -KERNEL="urandom", MODE="0444" -KERNEL="mem", MODE="0640", GROUP="kmem" -KERNEL="kmem", MODE="0640", GROUP="kmem" -KERNEL="port", MODE="0640", GROUP="kmem" -KERNEL="full", MODE="0666" -KERNEL="null", MODE="0666" -KERNEL="zero", MODE="0666" -KERNEL="inotify", MODE="0666" -KERNEL="sgi_fetchop", MODE="0666" -KERNEL="sonypi", MODE="0666" -KERNEL="agpgart", GROUP="video" -KERNEL="nvram", GROUP="nvram" -KERNEL="rtc", MODE="0660", GROUP="audio" - -KERNEL="cdemu[0-9]*", GROUP="cdrom" -KERNEL="pktcdvd[0-9]*", GROUP="cdrom" -KERNEL="pktcdvd", MODE="0644" +KERNEL=="random", MODE="0666" +KERNEL=="urandom", MODE="0666" +KERNEL=="mem", MODE="0640", GROUP="kmem" +KERNEL=="kmem", MODE="0640", GROUP="kmem" +KERNEL=="port", MODE="0640", GROUP="kmem" +KERNEL=="full", MODE="0666" +KERNEL=="null", MODE="0666" +KERNEL=="zero", MODE="0666" +KERNEL=="inotify", MODE="0666" +KERNEL=="sgi_fetchop", MODE="0666" +KERNEL=="sonypi", MODE="0666" +KERNEL=="agpgart", GROUP="video" +KERNEL=="nvram", GROUP="nvram" +KERNEL=="rtc|rtc[0-9]*", GROUP="audio" +KERNEL=="tpm*", MODE="0600", OWNER="tss", GROUP="tss" +KERNEL=="fuse", GROUP="fuse" +KERNEL=="kqemu", MODE="0666" +KERNEL=="kvm", GROUP="kvm" +KERNEL=="tun", MODE="0666", + +KERNEL=="cdemu[0-9]*", GROUP="cdrom" +KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" +KERNEL=="pktcdvd", MODE="0644" + +KERNEL=="uverbs*", GROUP="rdma" +KERNEL=="ucm*", GROUP="rdma" +KERNEL=="rdma_ucm", GROUP="rdma" # printers and parallel devices -SUBSYSTEM="printer", GROUP="lp" -SUBSYSTEM="ppdev", GROUP="lp" -KERNEL="pt[0-9]*", GROUP="tape" -KERNEL="pht[0-9]*", GROUP="tape" +SUBSYSTEM=="printer", GROUP="lp" +SUBSYSTEM=="ppdev", GROUP="lp" +KERNEL=="irlpt*", GROUP="lp" +KERNEL=="pt[0-9]*", GROUP="tape" +KERNEL=="pht[0-9]*", GROUP="tape" # sound devices -SUBSYSTEM="sound", GROUP="audio" +SUBSYSTEM=="sound", GROUP="audio" + +# ieee1394 devices +KERNEL=="raw1394", GROUP="disk" +KERNEL=="dv1394*", GROUP="video" +KERNEL=="video1394*", GROUP="video" # input devices -KERNEL="event[0-9]*", PROGRAM="/etc/udev/scripts/inputdev.sh %k", \ - RESULT="inputdev", MODE="0664", GROUP="video" -KERNEL="js[0-9]*", MODE="0664" +KERNEL=="event[0-9]*", ATTRS{name}=="*dvb*|*DVB*|* IR *" \ + MODE="0664", GROUP="video" +KERNEL=="js[0-9]*", MODE="0664" +KERNEL=="lirc[0-9]*", GROUP="video" # AOE character devices -SUBSYSTEM="aoe", MODE="0220", GROUP="disk" -SUBSYSTEM="aoe", KERNEL="err", MODE="0440" +SUBSYSTEM=="aoe", MODE="0220", GROUP="disk" +SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440" + +LABEL="permissions_end"