Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | ACTION!="add", GOTO="permissions_end" |
| 2 | |
| 3 | # workarounds needed to synchronize with sysfs |
| 4 | # only needed for kernels < v2.6.18-rc1 |
| 5 | ENV{PHYSDEVPATH}!="?*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus" |
| 6 | SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", WAIT_FOR_SYSFS="ioerr_cnt" |
| 7 | # only needed for kernels < 2.6.16 |
| 8 | SUBSYSTEM=="net", WAIT_FOR_SYSFS="address" |
| 9 | # only needed for kernels < 2.6.17 |
| 10 | SUBSYSTEM=="net", ENV{DRIVER}=="?*", WAIT_FOR_SYSFS="device/driver" |
| 11 | |
| 12 | # devices needed to load the drivers providing them |
| 13 | KERNEL=="tun", OPTIONS+="ignore_remove" |
| 14 | KERNEL=="ppp", OPTIONS+="ignore_remove" |
| 15 | KERNEL=="loop[0-9]*", OPTIONS+="ignore_remove" |
| 16 | |
| 17 | # default permissions for block devices |
| 18 | SUBSYSTEM=="block", GROUP="disk" |
| 19 | # the aacraid driver is broken and reports that disks removable (see #404927) |
| 20 | SUBSYSTEM=="block", ATTRS{removable}=="1", \ |
| 21 | DRIVERS!="aacraid", GROUP="floppy" |
| 22 | # all block devices on these buses are "removable" |
| 23 | SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy" |
| 24 | |
| 25 | # IDE devices |
| 26 | KERNEL=="hd[a-z]|pcd[0-9]*", DRIVERS=="ide-cdrom|pcd", \ |
| 27 | IMPORT{program}="cdrom_id --export $tempnode" |
| 28 | ENV{ID_CDROM}=="?*", GROUP="cdrom" |
| 29 | KERNEL=="ht[0-9]*", GROUP="tape" |
| 30 | KERNEL=="nht[0-9]*", GROUP="tape" |
| 31 | |
| 32 | # SCSI devices |
| 33 | KERNEL=="sr[0-9]*", IMPORT{program}="cdrom_id --export $tempnode" |
| 34 | SUBSYSTEMS=="scsi", ATTRS{type}=="1", GROUP="tape" |
| 35 | SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="HP", GROUP="scanner" |
| 36 | SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="Epson", GROUP="scanner" |
| 37 | SUBSYSTEMS=="scsi", ATTRS{type}=="3", ATTRS{vendor}=="EPSON", GROUP="scanner" |
| 38 | SUBSYSTEMS=="scsi", ATTRS{type}=="4", GROUP="cdrom" |
| 39 | SUBSYSTEMS=="scsi", ATTRS{type}=="5", GROUP="cdrom" |
| 40 | SUBSYSTEMS=="scsi", ATTRS{type}=="6", GROUP="scanner" |
| 41 | SUBSYSTEMS=="scsi", ATTRS{type}=="8", GROUP="tape" |
| 42 | |
| 43 | # USB devices |
| 44 | KERNEL=="legousbtower*", MODE="0666" |
| 45 | KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", GROUP="lp" |
| 46 | |
| 47 | # usbfs-like devices |
| 48 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \ |
| 49 | MODE="0664" |
| 50 | |
| 51 | # iRiver music players |
| 52 | SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="plugdev", \ |
| 53 | ATTRS{idVendor}=="4102", ATTRS{idProduct}=="10[01][135789]" |
| 54 | |
| 55 | # serial devices |
| 56 | SUBSYSTEM=="tty", GROUP="dialout" |
| 57 | SUBSYSTEM=="capi", GROUP="dialout" |
| 58 | SUBSYSTEM=="slamr", GROUP="dialout" |
| 59 | SUBSYSTEM=="zaptel", GROUP="dialout" |
| 60 | |
| 61 | # vc devices (all members of the tty subsystem) |
| 62 | KERNEL=="ptmx", MODE="0666", GROUP="root" |
| 63 | KERNEL=="console", MODE="0600", GROUP="root" |
| 64 | KERNEL=="tty", MODE="0666", GROUP="root" |
| 65 | KERNEL=="tty[0-9]*", GROUP="root" |
| 66 | KERNEL=="pty*", MODE="0666", GROUP="tty" |
| 67 | |
| 68 | # video devices |
| 69 | SUBSYSTEM=="video4linux", GROUP="video" |
| 70 | SUBSYSTEM=="drm", GROUP="video" |
| 71 | SUBSYSTEM=="dvb", GROUP="video" |
| 72 | SUBSYSTEM=="em8300", GROUP="video" |
| 73 | SUBSYSTEM=="graphics", GROUP="video" |
| 74 | SUBSYSTEM=="nvidia", GROUP="video" |
| 75 | |
| 76 | # misc devices |
| 77 | KERNEL=="random", MODE="0666" |
| 78 | KERNEL=="urandom", MODE="0666" |
| 79 | KERNEL=="mem", MODE="0640", GROUP="kmem" |
| 80 | KERNEL=="kmem", MODE="0640", GROUP="kmem" |
| 81 | KERNEL=="port", MODE="0640", GROUP="kmem" |
| 82 | KERNEL=="full", MODE="0666" |
| 83 | KERNEL=="null", MODE="0666" |
| 84 | KERNEL=="zero", MODE="0666" |
| 85 | KERNEL=="inotify", MODE="0666" |
| 86 | KERNEL=="sgi_fetchop", MODE="0666" |
| 87 | KERNEL=="sonypi", MODE="0666" |
| 88 | KERNEL=="agpgart", GROUP="video" |
| 89 | KERNEL=="nvram", GROUP="nvram" |
| 90 | KERNEL=="rtc|rtc[0-9]*", GROUP="audio" |
| 91 | KERNEL=="tpm*", MODE="0600", OWNER="tss", GROUP="tss" |
| 92 | KERNEL=="fuse", GROUP="fuse" |
| 93 | KERNEL=="kqemu", MODE="0666" |
| 94 | KERNEL=="kvm", GROUP="kvm" |
| 95 | KERNEL=="tun", MODE="0666", |
| 96 | |
| 97 | KERNEL=="cdemu[0-9]*", GROUP="cdrom" |
| 98 | KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" |
| 99 | KERNEL=="pktcdvd", MODE="0644" |
| 100 | |
| 101 | KERNEL=="uverbs*", GROUP="rdma" |
| 102 | KERNEL=="ucm*", GROUP="rdma" |
| 103 | KERNEL=="rdma_ucm", GROUP="rdma" |
| 104 | |
| 105 | # printers and parallel devices |
| 106 | SUBSYSTEM=="printer", GROUP="lp" |
| 107 | SUBSYSTEM=="ppdev", GROUP="lp" |
| 108 | KERNEL=="irlpt*", GROUP="lp" |
| 109 | KERNEL=="pt[0-9]*", GROUP="tape" |
| 110 | KERNEL=="pht[0-9]*", GROUP="tape" |
| 111 | |
| 112 | # sound devices |
| 113 | SUBSYSTEM=="sound", GROUP="audio" |
| 114 | |
| 115 | # ieee1394 devices |
| 116 | KERNEL=="raw1394", GROUP="disk" |
| 117 | KERNEL=="dv1394*", GROUP="video" |
| 118 | KERNEL=="video1394*", GROUP="video" |
| 119 | |
| 120 | # input devices |
| 121 | KERNEL=="event[0-9]*", ATTRS{name}=="*dvb*|*DVB*|* IR *" \ |
| 122 | MODE="0664", GROUP="video" |
| 123 | KERNEL=="js[0-9]*", MODE="0664" |
| 124 | KERNEL=="lirc[0-9]*", GROUP="video" |
| 125 | |
| 126 | # AOE character devices |
| 127 | SUBSYSTEM=="aoe", MODE="0220", GROUP="disk" |
| 128 | SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440" |
| 129 | |
| 130 | LABEL="permissions_end" |
| 131 | |