chiark / gitweb /
[PATCH] apply default permissions only for devices that will need it
[elogind.git] / etc / udev / debian / udev.rules
1 # There are a number of modifiers that are allowed to be used in some
2 # of the different fields. They provide the following subsitutions:
3 #
4 # %n the "kernel number" of the device.
5 #    For example, 'sda3' has a "kernel number" of '3'
6 # %e the smallest number for that name which does not matches an existing node
7 # %k the kernel name for the device.
8 # %M the kernel major number for the device
9 # %m the kernel minor number for the device
10 # %b the bus id for the device
11 # %c the string returned by the PROGRAM
12 # %s{filename} the content of a sysfs attribute.
13 # %% the '%' char itself.
14 #
15
16 # default permissions for block devices
17 SUBSYSTEM="block",                      GROUP="disk"
18 SUBSYSTEM="block", SYSFS{removable}="1", GROUP="floppy"
19
20 # workaround for devices which do not report media changes
21 BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \
22   PROGRAM="/bin/cat /proc/ide/%k/model", RESULT="IOMEGA ZIP *", \
23   NAME{all_partitions}="%k%n", GROUP="floppy"
24
25 # IDE devices
26 BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \
27   PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="cdrom*", \
28   GROUP="cdrom"
29 BUS="ide", KERNEL="hd[a-z]", SYSFS{removable}="1", \
30   PROGRAM="/bin/cat /proc/ide/%k/media", RESULT="floppy*", \
31   GROUP="floppy"
32 BUS="ide", KERNEL="ht[0-9]*",   GROUP="tape"
33 BUS="ide", KERNEL="nht[0-9]*",  GROUP="tape"
34
35 # SCSI devices
36 BUS="scsi", KERNEL="sr[0-9]*", SYSFS{type}="5", \
37   NAME="scd%n", SYMLINK="sr%n",                 GROUP="cdrom"
38 BUS="scsi", KERNEL="sg[0-9]*", SYSFS{type}="5", GROUP="cdrom"
39 BUS="scsi", KERNEL="st[0-9]*",                  GROUP="tape"
40 BUS="scsi", KERNEL="nst[0-9]*",                 GROUP="tape"
41 BUS="scsi", KERNEL="osst[0-9]*",                GROUP="tape"
42 BUS="scsi", KERNEL="nosst[0-9]*",               GROUP="tape"
43
44 # USB devices
45 BUS="usb", KERNEL="hiddev*",    NAME="usb/%k"
46 BUS="usb", KERNEL="auer[0-9]*", NAME="usb/%k"
47 BUS="usb", KERNEL="legousbtower*", NAME="usb/%k", MODE="0666"
48 BUS="usb", KERNEL="dabusb*",    NAME="usb/%k"
49 BUS="usb", KERNEL="cpad[0-9]*", NAME="usb/%k"
50 BUS="usb", KERNEL="ttyUSB*", SYSFS{product}="Palm Handheld*", SYMLINK="pilot"
51
52 # serial devices
53 SUBSYSTEM="tty",        GROUP="dialout"
54 KERNEL="capi",          NAME="capi20", SYMLINK="isdn/capi20"
55 KERNEL="capi[0-9]*",    NAME="capi/%n"
56
57 # vc devices
58 KERNEL="ptmx",          MODE="0666"
59 KERNEL="tty",           MODE="0666"
60
61 # video devices
62 SUBSYSTEM="video4linux", GROUP="video"
63 KERNEL="dvb*",          PROGRAM="/etc/udev/scripts/dvb.sh %k", \
64                         NAME="%c", GROUP="video"
65 KERNEL="fb[0-9]*",      GROUP="video"
66 KERNEL="nvidia*",       GROUP="video"
67 KERNEL="card[0-9]*",    NAME="dri/%k", GROUP="video"
68
69 # misc devices
70 KERNEL="random",        MODE="0666"
71 KERNEL="urandom",       MODE="0444"
72 KERNEL="mem",           MODE="0640", GROUP="kmem"
73 KERNEL="kmem",          MODE="0640", GROUP="kmem"
74 KERNEL="port",          MODE="0640", GROUP="kmem"
75 KERNEL="full",          MODE="0666"
76 KERNEL="null",          MODE="0666"
77 KERNEL="zero",          MODE="0666"
78 KERNEL="inotify",       MODE="0666"
79 KERNEL="sgi_fetchop",   MODE="0666"
80 KERNEL="sonypi",        MODE="0666"
81 KERNEL="agpgart",       GROUP="video"
82 KERNEL="nvram",         GROUP="nvram"
83 KERNEL="rtc",           MODE="0664", GROUP="audio"
84 KERNEL="hw_random",     NAME="hwrng"
85
86 # printers and parallel devices
87 SUBSYSTEM="printer",    GROUP="lp"
88 BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k"
89 KERNEL="pt[0-9]*",      GROUP="tape"
90 KERNEL="pht[0-9]*",     GROUP="tape"
91
92 KERNEL="fd[0-9]*",      GROUP="floppy"
93
94 KERNEL="cdemu[0-9]*",   NAME="cdemu/%n", GROUP="cdrom"
95 KERNEL="pktcdvd[0-9]*", NAME="pktcdvd/%n", GROUP="cdrom"
96 KERNEL="pktcdvd",       NAME="pktcdvd/control", MODE="0644"
97
98 KERNEL="cpu[0-9]*",     NAME="cpu/%n/cpuid"
99 KERNEL="msr[0-9]*",     NAME="cpu/%n/msr"
100 KERNEL="microcode",     NAME="cpu/microcode"
101
102 KERNEL="umad*",         NAME="infiniband/%k"
103 KERNEL="issm*",         NAME="infiniband/%k"
104
105 KERNEL="tap[0-9]*",     NAME="net/%k"
106 KERNEL="tun",           NAME="net/%k"
107
108 # ALSA devices
109 SUBSYSTEM="sound",      GROUP="audio"
110 KERNEL="controlC[0-9]*", NAME="snd/%k"
111 KERNEL="hwC[D0-9]*",    NAME="snd/%k"
112 KERNEL="pcmC[D0-9cp]*", NAME="snd/%k"
113 KERNEL="midiC[D0-9]*",  NAME="snd/%k"
114 KERNEL="timer",         NAME="snd/%k"
115 KERNEL="seq",           NAME="snd/%k"
116
117 # input devices
118 KERNEL="mice",          NAME="input/%k"
119 KERNEL="mouse[0-9]*",   NAME="input/%k"
120 KERNEL="event[0-9]*",   NAME="input/%k", \
121   PROGRAM="/etc/udev/scripts/inputdev.sh %k", RESULT="inputdev", \
122   MODE="0664", GROUP="video"
123 KERNEL="event[0-9]*",   NAME="input/%k"
124 KERNEL="js[0-9]*",      NAME="input/%k", MODE="0664"
125 KERNEL="ts[0-9]*",      NAME="input/%k"
126 KERNEL="uinput",        NAME="input/%k"
127
128 # Zaptel
129 KERNEL="zapctl",        NAME="zap/ctl"
130 KERNEL="zaptimer",      NAME="zap/timer"
131 KERNEL="zapchannel",    NAME="zap/channel"
132 KERNEL="zappseudo",     NAME="zap/pseudo"
133 KERNEL="zap[0-9]*",     NAME="zap/%n"
134
135 # device mapper creates its own device nodes, so ignore these
136 KERNEL="dm-[0-9]*",     NAME=""
137 KERNEL="device-mapper", NAME="mapper/control"
138