Subject: Strange, subtle papd/printing problem
From: Peter Gutowski (petergut@mediaone.net)
Date: Wed Jun 28 2000 - 13:48:57 EDT
I'm having problems trying to setup up printing on one of my Linux machines. The annoying thing about this is that I have an "identical" setup on my machine at home. For reasons perhaps only unix gurus can (hopefully!) explain, printing to the Linux machine using papd works at home, but not at work.
Here's some info:
Version Info:
Redhat 6.1 on Packard-Hell 133mhz, netatalk-1.4b2+asun2.1.4 (b.37 I think)
- - - - - - -/usr/local/atalk/etc/papd.conf - - - - - - -
GhostScript to D800:\
:pr=tiff:\
:op=lp:\
:pd=/usr/local/lib/ppd/ghostscript.ppd:
- - - - - - - portion of /etc/printcap - - - - - - - - -
tiff:\
:sd=/var/spool/lpd/tiff:\
:mx#0:\
:sh:\
:lp=/var/spool/lpd/tiff/null:\
:if=/var/spool/lpd/tiff/tifffilt:
I can print from my Mac to the Printer called "GhostScript to D800". No errors or problems. I can also print using lpr from the command line. The problem I seem to have is that something about the permissions on the file in the spool folder generated by papd seem to have the wrong owner or permissions. Here's what I mean:
If I turn of the printer called "tiff" by doing a 'lpc stop tiff' and print to the printer here's what I get in the spool folder (print a file from the Mac; then print the same file to disk then add it to the queue from the command line.
This accomplished, here's what's in the spool folder:
/var/spool/lpd/tiff:
-rw-r----- 1 root root 209 Jun 28 13:21 cfA031lx1.powervue.com
-rw-rw---- 1 bin lp 129 Jun 28 13:22 cfA032lx1.powervue.com
-rw-r----- 1 root root 526691 Jun 28 13:21 dfA031lx1.powervue.com
-rw-rw---- 1 peterg lp 526691 Jun 28 13:22 dfA032lx1.powervue.com
-rwxr--r-- 1 lp root 28 Jun 28 13:05 lock
crw-rw-rw- 1 lp root 1, 3 Jun 26 15:26 null
-rw-rw-r-- 1 root root 18 Jun 28 13:21 status
lrwxrwxrwx 1 root root 40 Jun 26 15:28 tifffilt -> /usr/lo....
Note the difference in permissions above: the file printed from the command line is 660 but the one spooled from papd is 640. Note ownership as well.
If I turn "on" printing with 'lpc start tiff' here's what I get in /var/log/messages
Jun 28 13:28:38 lx1 lpd[1854]: tiff: job could not be printed (cfA031lx1.powervue.com)
Jun 28 13:28:38 lx1 psf[1862]: starting for ?
Jun 28 13:28:38 lx1 psf[1862]: PostScript
Jun 28 13:28:41 lx1 psf[1862]: done
The other file ("cfA032lx1.powervue.com") printed (ripped) correctly. Now, as a "interesting" sidelight, if (as root) I change the permissions on the file from 640 to 666 the file processes correctly with no messages in the log. Now I know that papd starts as root, but somehow expect that the "op=lp" line in the papd.conf file would have it do a setuid() to 'lp' before spooling the file. If I jump to the src directory etc/papd and do a 'grep [ug]id *.c *.h', it yields nothing. How is the "op=" parameter used?
As I said, the home system works OK and to my surprize has the same permissions situation from papd, but for some reason doesn't generate and error. Any ideas or recommendations thankfully appreciated!!!
-Peter Gutowski
This archive was generated by hypermail 2b28 : Wed Jan 17 2001 - 14:31:22 EST