X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=rules%2Frules.d%2F50-udev-default.rules;h=e8116a372f79e0d08b74a508844fdb5405b230d2;hp=75a3e6d39f741fc75859274ca9ddbdaf6a6d3732;hb=00e43e357ea709d8c1def0aed13192abbf9ac193;hpb=f63dc3b74f67483b38f7fbd926bf10f5cac73387 diff --git a/rules/rules.d/50-udev-default.rules b/rules/rules.d/50-udev-default.rules index 75a3e6d39..e8116a372 100644 --- a/rules/rules.d/50-udev-default.rules +++ b/rules/rules.d/50-udev-default.rules @@ -1,107 +1,118 @@ # do not edit this file, it will be overwritten on update -KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS+="last_rule" -KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660", OPTIONS+="last_rule" -KERNEL=="ptmx", GROUP="tty", MODE="0666", OPTIONS+="last_rule" -KERNEL=="tty", GROUP="tty", MODE="0666", OPTIONS+="last_rule" -KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620", OPTIONS+="last_rule" -KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty", OPTIONS+="last_rule" -KERNEL=="console", MODE="0600", OPTIONS+="last_rule" +SUBSYSTEM=="block", SYMLINK{unique}+="block/%M:%m" +SUBSYSTEM!="block", SYMLINK{unique}+="char/%M:%m" + +KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660" +KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660" +KERNEL=="ptmx", GROUP="tty", MODE="0666" +KERNEL=="tty", GROUP="tty", MODE="0666" +KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620" +KERNEL=="console", MODE="0600" +KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty" # serial -KERNEL=="tty[A-Z]*|pppox*|ircomm*|noz*", GROUP="uucp" -KERNEL=="ppp", MODE="0600", OPTIONS+="ignore_remove" -KERNEL=="mwave", NAME="modems/mwave", GROUP="uucp" -KERNEL=="hvc*|hvsi*", GROUP="uucp" -KERNEL=="lirc0", SYMLINK+="lirc" +KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout" +KERNEL=="ppp", MODE="0600" +KERNEL=="mwave", GROUP="dialout" +KERNEL=="hvc*|hvsi*", GROUP="dialout" + +# virtio serial / console ports +KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}" # mem KERNEL=="null|zero|full|random|urandom", MODE="0666" -KERNEL=="null", SYMLINK+="XOR" -KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" -KERNEL=="ram0", SYMLINK+="ramdisk" -KERNEL=="ram1", SYMLINK+="ram" +KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640" # input -KERNEL=="mouse*|mice|event*", NAME="input/%k", MODE="0640" -KERNEL=="ts[0-9]*|uinput", NAME="input/%k", MODE="0600" -KERNEL=="js[0-9]*", NAME="input/%k", MODE="0644", SYMLINK+="%k" +KERNEL=="mouse*|mice|event*", MODE="0640" +KERNEL=="ts[0-9]*|uinput", MODE="0640" +KERNEL=="js[0-9]*", MODE="0644" # video4linux -KERNEL=="vbi0", SYMLINK+="vbi" -KERNEL=="radio0", SYMLINK+="radio" -KERNEL=="video0", SYMLINK+="video" +SUBSYSTEM=="video4linux", GROUP="video" +KERNEL=="vttuner*", GROUP="video" +KERNEL=="vtx*|vbi*", GROUP="video" +KERNEL=="winradio*", GROUP="video" # graphics -KERNEL=="agpgart", MODE="0600" -KERNEL=="card[0-9]*", NAME="dri/%k", MODE="0666" -KERNEL=="fb0", SYMLINK+="fb" +KERNEL=="agpgart", MODE="0600", GROUP="video" +KERNEL=="pmu", GROUP="video" +KERNEL=="nvidia*|nvidiactl*", GROUP="video" +SUBSYSTEM=="graphics", GROUP="video" +SUBSYSTEM=="drm", GROUP="video" -# DVB video -SUBSYSTEM=="dvb", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c" +# sound +SUBSYSTEM=="sound", GROUP="audio" +KERNEL=="mixer0", SYMLINK+="mixer" -# Firewire -KERNEL=="dv1394*", SYMLINK+="dv1394/%n" -KERNEL=="video1394*", NAME="video1394/%n" +# DVB (video) +SUBSYSTEM=="dvb", GROUP="video" -# firmware class requests -SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh" +# FireWire (firewire-core driver: IIDC devices, AV/C devices) +SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video" +SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video" + +# FireWire (deprecated dv1394 and video1394 drivers) +KERNEL=="dv1394-[0-9]*", NAME="dv1394/%n", GROUP="video" +KERNEL=="video1394-[0-9]*", NAME="video1394/%n", GROUP="video" # libusb device nodes -SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644" +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664" # printer KERNEL=="parport[0-9]*", GROUP="lp" SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp" -SUBSYSTEM=="usb", KERNEL=="lp*", NAME="usb/%k", SYMLINK+="usb%k", GROUP="lp" -KERNEL=="lp[0-9]*", GROUP="lp", SYMLINK+="par%n" +SUBSYSTEM=="ppdev", GROUP="lp" +SUBSYSTEM=="usb", KERNEL=="lp*", SYMLINK+="usb%k", GROUP="lp" +KERNEL=="lp[0-9]*", GROUP="lp" KERNEL=="irlpt[0-9]*", 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", MODE="0664" -# block, tapes, block-releated +# block SUBSYSTEM=="block", GROUP="disk" -SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n" -SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="0|7|14", ATTR{timeout}="60" -SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", ACTION=="add", ATTR{type}=="1", ATTR{timeout}="900" -KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", OPTIONS+="all_partitions" -KERNEL=="fd[0-9]", GROUP="floppy" -KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0640 -G floppy $root/%k" -KERNEL=="sch[0-9]*", GROUP="disk" -KERNEL=="sg[0-9]*", ATTRS{type}!="3|6", GROUP="disk", MODE="0640" -KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="disk" -KERNEL=="pg[0-9]*", GROUP="disk" -KERNEL=="pt[0-9]*|npt[0-9]*", GROUP="disk" + +# floppy +SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy" + +# cdrom +SUBSYSTEM=="block", KERNEL=="sr[0-9]*", SYMLINK+="scd%n", GROUP="cdrom" +SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom" +KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" +KERNEL=="pktcdvd", GROUP="cdrom" + +# tape +KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape" +KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape" +SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape" + +# block-related +KERNEL=="sch[0-9]*", GROUP="disk" +SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk" +KERNEL=="pg[0-9]*", GROUP="disk" KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk" -KERNEL=="rawctl", NAME="raw/%k", GROUP="disk" -SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k", GROUP="disk" -KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k" -KERNEL=="pktcdvd", NAME="pktcdvd/control" -KERNEL=="qft0", SYMLINK+="ftape" -SUBSYSTEM=="bsg", NAME="bsg/%k" -SUBSYSTEM=="aoe", NAME="etherd/%k", GROUP="disk" +KERNEL=="rawctl", GROUP="disk" +SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk" +SUBSYSTEM=="aoe", GROUP="disk", MODE="0220" +SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440" # network -KERNEL=="tun", NAME="net/%k", MODE="0666", OPTIONS+="ignore_remove" +KERNEL=="tun", MODE="0666" +KERNEL=="rfkill", MODE="0644" # CPU -KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" -KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" -KERNEL=="microcode", NAME="cpu/microcode", MODE="0600" +KERNEL=="cpu[0-9]*", MODE="0444" # miscellaneous KERNEL=="fuse", MODE="0666" -KERNEL=="rtc|rtc0", MODE="0644" -KERNEL=="rtc0", SYMLINK+="rtc" -KERNEL=="auer[0-9]*", NAME="usb/%k" -KERNEL=="hw_random", NAME="hwrng", SYMLINK+="%k" +SUBSYSTEM=="rtc", DRIVERS=="rtc_cmos", SYMLINK+="rtc" KERNEL=="mmtimer", MODE="0644" KERNEL=="rflash[0-9]*", MODE="0400" KERNEL=="rrom[0-9]*", MODE="0400" -KERNEL=="sbpcd0", SYMLINK+="sbpcd" -KERNEL=="slram[0-9]*", SYMLINK+="xpram%n" -KERNEL=="sxctl", NAME="specialix_sxctl", SYMLINK+="%k" -KERNEL=="rioctl", NAME="specialix_rioctl", SYMLINK+="%k" -KERNEL=="iowarrior[0-9]*", NAME="usb/%k" # do not delete static device nodes +ACTION=="remove", NAME=="", TEST=="/lib/udev/devices/%k", OPTIONS+="ignore_remove" ACTION=="remove", NAME=="?*", TEST=="/lib/udev/devices/$name", OPTIONS+="ignore_remove" -