re root/lp/lpadmin, brain dump from memory:
* debian runs cups as root by default
* cups *can* print as non-root user, but
* cups wants root to write e.g. ink levels to /etc/cups/printers.conf
but that's not strictly needed.
I notice subscriptions.conf in there as well.
I think maybe KDE users need that to printer properly?
cupsd also creates backup files called foo.conf.O.
These state values all belong in /var or /run, but cupsd is super dumb.
* editing /etc/cups via cupsd (lpadmin or the web UI) probably also
needs cupsd to run as root. I usually create printer queues &c by
hand, so I didn't investigate.
* cups needs root to use cups-pdf queue (because it changes euid to the
job owner to write to ~owner/PDF/blah.pdf or so.)
* I think cupsd wanted root for one more thing,
but I can't remember what it was.
* in cups-files.conf I do this:
ErrorLog syslog # Use syslog for all logging
AccessLog syslog
PageLog syslog
SystemGroup lpadmin
So I guess that's why lpadmin members are special.
* by default cupsd doesn't verify the username,
so you can trivially do e.g.
mallory$ lp -U alice porn.pdf
mallory$ cancel -U alice hp4100-1
I think the default <Location> ACLs in cupsd.conf try to limit
"dangerous" commands to originate from 127.0.0.1,
as a crappy workaround.
PS: I only ever cared about networked printers.
If your printer is connected over USB or something,
cupsd probably needs write access to the relevant device file.
_______________________________________________
luv-main mailing list
[email protected]
http://lists.luv.asn.au/listinfo/luv-main