Welcome to Eric Hameleers (Alien BOB)'s Wiki pages.
This is an old revision of the document!
Please leave your constructive comments on this page.
In Slackware 12 with CUPS 1.3.7 I found setting the pdf script to save the file did not work as expected. It appears the script is run as user lp, which cannot change the owner. Rather than remove the sticky bit, I used “sudo chown” to change the owner, of course that meant the following “chmod” failed, so I had to swap the two command. I also wanted to record the title of the pdf, so I added three lines to the script. That part of the script now looks like this: -
''## Normally the PDF file will be emailed to the creating user. ## Alternatively, you can decide not to email it, ## but leave the file on the server and restrict access by others: #if [ "$2" != "" ]; then # $MAILBIN $2 $OUTPUTFILENAME # rm -f $OUTPUTFILENAME #fi if [ "$2" != "" ]; then chmod 700 $OUTPUTFILENAME sudo chown $2 $OUTPUTFILENAME # Save the title of the file echo $3 >$OUTPUTFILENAME.title chmod 600 $OUTPUTFILENAME.title sudo chown $2: $OUTPUTFILENAME.title fi exit 0''
Is there a better way to achieve the same results?
(This is still the case in Slackware 13.37, with CUPS 1.4.6.)
I'm using the following, instead:
chmod 775 /var/spool/pdf chown lp:lp /var/spool/pdf
and making sure that the users I want to have access to the printed PDFs are in group lp.
This does mean that multiple users on my system could access my PDF prints, so there are still security implications.
Hi Erik, thanks for this guide! But I got it working only after
I did a chmod 755 on /usr/lib/cups/backend/pdf.
Yes you are right. Cups used to run as root (I wrote this article for Slackware 10) but modern cups processes run as user ”
lp”. The script needs to be owned by user ”
lp” or it needs to be ”
chmod 755”. I've fixed the article, thanks.
— Eric, Sun Feb 14 21:49:47 UTC 2010