1 |
# /etc/udev/rules/70-acl.rules: device naming rules for udev |
# /etc/udev/rules/70-acl.rules: device naming rules for udev |
2 |
# $Header: /root/magellan-cvs/src/udev/udev-acl.rules.magellan,v 1.1 2009-10-13 15:10:19 niro Exp $ |
# $Header: /root/magellan-cvs/src/udev/udev-acl.rules.magellan,v 1.3 2010-08-18 02:24:12 niro Exp $ |
3 |
# |
# |
4 |
# There are a number of modifiers that are allowed to be used in some |
# There are a number of modifiers that are allowed to be used in some |
5 |
# of the different fields. They provide the following subsitutions: |
# of the different fields. They provide the following subsitutions: |
18 |
# file that can be run before this one. |
# file that can be run before this one. |
19 |
# |
# |
20 |
|
|
21 |
|
# Do not use TAG+="udev-acl" outside of this file. This variable is private to |
22 |
|
# udev-acl of this udev release and may be replaced at any time. |
23 |
|
|
24 |
ENV{MAJOR}=="", GOTO="acl_end" |
ENV{MAJOR}=="", GOTO="acl_end" |
25 |
ACTION!="add|change", GOTO="acl_apply" |
ACTION=="remove", GOTO="acl_apply" |
26 |
|
|
27 |
# PTP/MTP protocol devices, cameras, portable media players |
# PTP/MTP protocol devices, cameras, portable media players |
28 |
SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="", ENV{DEVTYPE}=="usb_device", IMPORT{program}="usb_id --export %p" |
SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="", ENV{DEVTYPE}=="usb_device", IMPORT{program}="usb_id --export %p" |
29 |
SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="udev-acl" |
30 |
|
|
31 |
# digicams with proprietary protocol |
# digicams with proprietary protocol |
32 |
ENV{ID_GPHOTO2}=="*?", ENV{ACL_MANAGE}="1" |
ENV{ID_GPHOTO2}=="*?", TAG+="udev-acl" |
|
|
|
|
# SCSI scanners |
|
|
KERNEL=="sg[0-9]*", ATTRS{type}=="6", ENV{ACL_MANAGE}="1" |
|
|
KERNEL=="sg[0-9]*", ATTRS{type}=="3", ATTRS{vendor}=="HP|EPSON|Epson", ENV{ACL_MANAGE}="1" |
|
33 |
|
|
34 |
# USB scanners |
# SCSI and USB scanners |
35 |
ENV{libsane_matched}=="yes", ENV{ACL_MANAGE}="1" |
ENV{libsane_matched}=="yes", TAG+="udev-acl" |
36 |
|
|
37 |
# HPLIP devices (necessary for ink level check and HP tool maintenance) |
# HPLIP devices (necessary for ink level check and HP tool maintenance) |
38 |
ENV{ID_HPLIP}=="1", ENV{ACL_MANAGE}="1" |
ENV{ID_HPLIP}=="1", TAG+="udev-acl" |
39 |
|
|
40 |
# optical drives |
# optical drives |
41 |
SUBSYSTEM=="block", ENV{ID_CDROM}=="1", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="block", ENV{ID_CDROM}=="1", TAG+="udev-acl" |
42 |
|
|
43 |
# sound devices |
# sound devices |
44 |
SUBSYSTEM=="sound", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="sound", TAG+="udev-acl" |
45 |
# sound jack-sense |
# sound jack-sense |
46 |
SUBSYSTEM=="input", SUBSYSTEMS=="sound", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="input", SUBSYSTEMS=="sound", TAG+="udev-acl" |
47 |
|
|
48 |
# webcams, frame grabber, TV cards |
# webcams, frame grabber, TV cards |
49 |
SUBSYSTEM=="video4linux", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="video4linux", TAG+="udev-acl" |
50 |
SUBSYSTEM=="dvb", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="dvb", TAG+="udev-acl" |
51 |
|
|
52 |
# fingerprint readers |
# IIDC devices: industrial cameras and some webcams |
53 |
SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="2016", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", TAG+="udev-acl" |
54 |
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", TAG+="udev-acl" |
55 |
|
# AV/C devices: camcorders, set-top boxes, TV sets, audio devices, and more |
56 |
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", TAG+="udev-acl" |
57 |
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", TAG+="udev-acl" |
58 |
|
|
59 |
# DRI video devices |
# DRI video devices |
60 |
SUBSYSTEM=="drm", KERNEL=="card*", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="drm", KERNEL=="card*", TAG+="udev-acl" |
61 |
|
|
62 |
# KVM |
# KVM |
63 |
SUBSYSTEM=="misc", KERNEL=="kvm", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="udev-acl" |
64 |
|
|
65 |
# smart-card readers |
# smart-card readers |
66 |
ENV{ID_SMARTCARD_READER}=="*?", ENV{ACL_MANAGE}="1" |
ENV{ID_SMARTCARD_READER}=="*?", TAG+="udev-acl" |
67 |
|
|
68 |
# joysticks |
# joysticks |
69 |
SUBSYSTEM=="input", ENV{ID_CLASS}=="joystick", ENV{ACL_MANAGE}="1" |
SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="udev-acl" |
70 |
|
|
71 |
|
# color measurement devices |
72 |
|
ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="udev-acl" |
73 |
|
|
74 |
|
# DDC/CI device, usually high-end monitors such as the DreamColor |
75 |
|
ENV{DDC_DEVICE}=="*?", TAG+="udev-acl" |
76 |
|
|
77 |
# apply ACL for all locally logged in users |
# apply ACL for all locally logged in users |
78 |
LABEL="acl_apply", ENV{ACL_MANAGE}=="?*", TEST=="/var/run/ConsoleKit/database", \ |
LABEL="acl_apply", TAG=="udev-acl", TEST=="/var/run/ConsoleKit/database", \ |
79 |
RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}" |
RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}" |
80 |
|
|
81 |
LABEL="acl_end" |
LABEL="acl_end" |