X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fudev-acl%2F70-acl.rules;h=e3ff31c22e5c96af6478a715aa39928f7ba025bd;hp=f41bb66f7f1f9a47b406cfedd6b2ae5e1fb4bcf1;hb=0e6546c11f2ec1ed2c5af3f2cdb2a6b507952782;hpb=84176f979f487392de9a7f01e804e72669cf5590 diff --git a/extras/udev-acl/70-acl.rules b/extras/udev-acl/70-acl.rules index f41bb66f7..e3ff31c22 100644 --- a/extras/udev-acl/70-acl.rules +++ b/extras/udev-acl/70-acl.rules @@ -1,51 +1,69 @@ # do not edit this file, it will be overwritten on update +# Do not use TAG+="udev-acl" outside of this file. This variable is private to +# udev-acl of this udev release and may be replaced at any time. + ENV{MAJOR}=="", GOTO="acl_end" -ACTION!="add|change", GOTO="acl_apply" +ACTION=="remove", GOTO="acl_apply" # PTP/MTP protocol devices, cameras, portable media players SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="", ENV{DEVTYPE}=="usb_device", IMPORT{program}="usb_id --export %p" -SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", ENV{ACL_MANAGE}="1" +SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="udev-acl" # digicams with proprietary protocol -ENV{ID_GPHOTO2}=="*?", ENV{ACL_MANAGE}="1" - -# 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" +ENV{ID_GPHOTO2}=="*?", TAG+="udev-acl" -# USB scanners -ENV{libsane_matched}=="yes", ENV{ACL_MANAGE}="1" +# SCSI and USB scanners +ENV{libsane_matched}=="yes", TAG+="udev-acl" # HPLIP devices (necessary for ink level check and HP tool maintenance) -ENV{ID_HPLIP}=="1", ENV{ACL_MANAGE}="1" +ENV{ID_HPLIP}=="1", TAG+="udev-acl" # optical drives -SUBSYSTEM=="block", ENV{ID_CDROM}=="1", ENV{ACL_MANAGE}="1" +SUBSYSTEM=="block", ENV{ID_CDROM}=="1", TAG+="udev-acl" # sound devices -SUBSYSTEM=="sound", ENV{ACL_MANAGE}="1" +SUBSYSTEM=="sound", TAG+="udev-acl" # sound jack-sense -SUBSYSTEM=="input", SUBSYSTEMS=="sound", ENV{ACL_MANAGE}="1" +SUBSYSTEM=="input", SUBSYSTEMS=="sound", TAG+="udev-acl" # webcams, frame grabber, TV cards -SUBSYSTEM=="video4linux", ENV{ACL_MANAGE}="1" -SUBSYSTEM=="dvb", ENV{ACL_MANAGE}="1" +SUBSYSTEM=="video4linux", TAG+="udev-acl" +SUBSYSTEM=="dvb", TAG+="udev-acl" -# fingerprint readers -SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="2016", ENV{ACL_MANAGE}="1" +# IIDC devices: industrial cameras and some webcams +SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", TAG+="udev-acl" +SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", TAG+="udev-acl" +# AV/C devices: camcorders, set-top boxes, TV sets, audio devices, and more +SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", TAG+="udev-acl" +SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", TAG+="udev-acl" # DRI video devices -SUBSYSTEM=="drm", KERNEL=="card*", ENV{ACL_MANAGE}="1" +SUBSYSTEM=="drm", KERNEL=="card*", TAG+="udev-acl" # KVM -SUBSYSTEM=="misc", KERNEL=="kvm", ENV{ACL_MANAGE}="1" +SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="udev-acl" # smart-card readers -ENV{ID_SMARTCARD_READER}=="*?", ENV{ACL_MANAGE}="1" +ENV{ID_SMARTCARD_READER}=="*?", TAG+="udev-acl" + +# PDA devices +ENV{ID_PDA}=="*?", TAG+="udev-acl" + +# joysticks +SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="udev-acl" + +# color measurement devices +ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="udev-acl" + +# DDC/CI device, usually high-end monitors such as the DreamColor +ENV{DDC_DEVICE}=="*?", TAG+="udev-acl" + +# media player raw devices (for user-mode drivers, Android SDK, etc.) +SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="udev-acl" # apply ACL for all locally logged in users -LABEL="acl_apply", ENV{ACL_MANAGE}=="?*", TEST=="/var/run/ConsoleKit/database", \ +LABEL="acl_apply", TAG=="udev-acl", TEST=="/var/run/ConsoleKit/database", \ RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}" LABEL="acl_end"