ACTION=="remove", GOTO="permissions_end" # default permissions for block devices SUBSYSTEM=="block", GROUP="disk" SUBSYSTEM=="block", ATTRS{removable}=="1", GROUP="floppy" # the aacraid driver is broken and reports the disks as removable (see #404927) SUBSYSTEM=="block", DRIVERS=="aacraid", GROUP="disk" # all block devices on these buses are "removable" SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy" KERNEL=="cbm", GROUP="floppy" # IDE devices ENV{ID_CDROM}=="?*", GROUP="cdrom" KERNEL=="ht[0-9]*", GROUP="tape" KERNEL=="nht[0-9]*", GROUP="tape" # SCSI devices SUBSYSTEM=="scsi_generic|scsi_tape", \ SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape" SUBSYSTEM=="scsi_generic", \ SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom" # USB devices KERNEL=="legousbtower*", MODE="0666" KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", GROUP="lp" # hplip and cups 1.4+ use raw USB devices, so permissions should be similar to # the ones from the old usblp kernel module SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \ ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \ ENV{ID_USB_INTERFACES}=="*:0701*:", GROUP="lp" # usbfs-like devices SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \ MODE="0664" # serial devices SUBSYSTEM=="tty", GROUP="dialout" SUBSYSTEM=="capi", GROUP="dialout" SUBSYSTEM=="slamr", GROUP="dialout" SUBSYSTEM=="zaptel", GROUP="dialout" KERNEL=="mISDNtimer", GROUP="dialout" KERNEL=="mwave", GROUP="dialout" KERNEL=="hvc*|hvsi*", 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=="pty*", MODE="0666", GROUP="tty" # video devices 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="0666" KERNEL=="mem", MODE="0640", GROUP="kmem" KERNEL=="kmem", MODE="0640", GROUP="kmem" KERNEL=="port", MODE="0640", GROUP="kmem" KERNEL=="nvram", MODE="0640", GROUP="kmem" KERNEL=="full", MODE="0666" KERNEL=="null", MODE="0666" KERNEL=="zero", MODE="0666" KERNEL=="inotify", MODE="0666" KERNEL=="sonypi", MODE="0666" KERNEL=="cpu[0-9]*", MODE="0444" KERNEL=="agpgart", GROUP="video" KERNEL=="pmu", GROUP="video" KERNEL=="kqemu", MODE="0666" KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun" KERNEL=="rfkill", MODE="0644" KERNEL=="cdemu[0-9]*", GROUP="cdrom" KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" KERNEL=="pktcdvd", MODE="0644" # printers and parallel devices SUBSYSTEM=="printer", GROUP="lp" SUBSYSTEM=="ppdev", GROUP="lp" KERNEL=="irlpt[0-9]*", GROUP="lp" KERNEL=="pt[0-9]*", GROUP="tape" KERNEL=="pht[0-9]*", GROUP="tape" # sound devices SUBSYSTEM=="sound", GROUP="audio" # ieee1394 devices SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video" SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video" SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video" SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video" KERNEL=="raw1394", GROUP="disk" KERNEL=="dv1394-[0-9]*", GROUP="video" KERNEL=="video1394-[0-9]*", GROUP="video" # input devices KERNEL=="event[0-9]*", ATTRS{name}=="*dvb*|*DVB*|* IR *", \ MODE="0664", GROUP="video" KERNEL=="js[0-9]*", MODE="0664" KERNEL=="event[0-9]*", ENV{ID_CLASS}=="joystick", \ MODE="0664", GROUP="audio" KERNEL=="lirc[0-9]*", GROUP="video" KERNEL=="sgi_*", MODE="0666" KERNEL=="z90crypt", MODE="0666" KERNEL=="iseries/ibmsis*", GROUP="disk" KERNEL=="iseries/nvt*", GROUP="disk" KERNEL=="iseries/vt*", GROUP="disk" KERNEL=="iseries/vtty*", GROUP="dialout" # AOE character devices SUBSYSTEM=="aoe", MODE="0220", GROUP="disk" SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440", GROUP="disk" LABEL="permissions_end"