chiark / gitweb /
make raw USB printer devices accessible for lp
authorMartin Pitt <martin.pitt@ubuntu.com>
Fri, 4 Sep 2009 15:12:28 +0000 (17:12 +0200)
committerMartin Pitt <martin.pitt@ubuntu.com>
Fri, 4 Sep 2009 15:12:28 +0000 (17:12 +0200)
Starting from version 1.4, cups now uses libusb and printer USB devices instead
of the usblp generated /dev/usb/lpX ones. In order to not require the cups USB
backend to run as root now, change raw USB printer devices to be root:lp 0660,
similar to usblpX devices.

This might also enable the hplip backend to not run as root, since this has
always used raw device nodes.

https://launchpad.net/bugs/420015

rules/rules.d/50-udev-default.rules

index 2507420..4e9a737 100644 (file)
@@ -60,6 +60,10 @@ SUBSYSTEM=="ppdev",          GROUP="lp"
 SUBSYSTEM=="usb",              KERNEL=="lp*", NAME="usb/%k", 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="660"
 
 # block
 SUBSYSTEM=="block", GROUP="disk"