chiark / gitweb /
rules: udev-acl - add firewire video devices
[elogind.git] / extras / udev-acl / 70-acl.rules
1 # do not edit this file, it will be overwritten on update
2
3 ENV{MAJOR}=="", GOTO="acl_end"
4 ENV{ACL_MANAGE}=="0", GOTO="acl_end"
5 ACTION!="add|change", GOTO="acl_apply"
6
7 # PTP/MTP protocol devices, cameras, portable media players
8 SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="", ENV{DEVTYPE}=="usb_device", IMPORT{program}="usb_id --export %p"
9 SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", ENV{ACL_MANAGE}="1"
10
11 # digicams with proprietary protocol
12 ENV{ID_GPHOTO2}=="*?", ENV{ACL_MANAGE}="1"
13
14 # SCSI scanners
15 KERNEL=="sg[0-9]*", ATTRS{type}=="6", ENV{ACL_MANAGE}="1"
16 KERNEL=="sg[0-9]*", ATTRS{type}=="3", ATTRS{vendor}=="HP|EPSON|Epson", ENV{ACL_MANAGE}="1"
17
18 # USB scanners
19 ENV{libsane_matched}=="yes", ENV{ACL_MANAGE}="1"
20
21 # HPLIP devices (necessary for ink level check and HP tool maintenance)
22 ENV{ID_HPLIP}=="1", ENV{ACL_MANAGE}="1"
23
24 # optical drives
25 SUBSYSTEM=="block", ENV{ID_CDROM}=="1", ENV{ACL_MANAGE}="1"
26
27 # sound devices
28 SUBSYSTEM=="sound", ENV{ACL_MANAGE}="1"
29 # sound jack-sense
30 SUBSYSTEM=="input", SUBSYSTEMS=="sound", ENV{ACL_MANAGE}="1"
31
32 # webcams, frame grabber, TV cards
33 SUBSYSTEM=="video4linux", ENV{ACL_MANAGE}="1"
34 SUBSYSTEM=="dvb", ENV{ACL_MANAGE}="1"
35
36 # IIDC devices: industrial cameras and some webcams
37 SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*",  ENV{ACL_MANAGE}="1"
38 # AV/C devices: camcorders, set-top boxes, TV sets, audio devices, and more
39 SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", ENV{ACL_MANAGE}="1"
40
41 # old style firewire devices
42 KERNEL=="dv1394-[0-9]*", ENV{ACL_MANAGE}="1"
43 KERNEL=="video1394-[0-9]*", ENV{ACL_MANAGE}="1"
44
45 # fingerprint readers
46 SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="2016", ENV{ACL_MANAGE}="1"
47
48 # DRI video devices
49 SUBSYSTEM=="drm", KERNEL=="card*", ENV{ACL_MANAGE}="1"
50
51 # KVM
52 SUBSYSTEM=="misc", KERNEL=="kvm", ENV{ACL_MANAGE}="1"
53
54 # smart-card readers
55 ENV{ID_SMARTCARD_READER}=="*?", ENV{ACL_MANAGE}="1"
56
57 # joysticks
58 SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ACL_MANAGE}="1"
59
60 # smart phones
61 SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0c02", ENV{ACL_MANAGE}="1"
62
63 # apply ACL for all locally logged in users
64 LABEL="acl_apply", ENV{ACL_MANAGE}=="?*", TEST=="/var/run/ConsoleKit/database", \
65   RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}"
66
67 LABEL="acl_end"