APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

SCO OpenServer 5.0 root can print to local prtr users can't

Got questions? Go ahead: Ask me anything!

Author: anonymous
Date: Thu Mar 9 19:53:29 2006
Subject: SCO OpenServer 5.0 root can print to local prtr users can't

I have a Lexmark printer on /dev/lp0, entry in printcap seems fine. root is the only account that can successfully perform an lp to this printer and have it print. Other users can cat > /dev/lp0 and have it print to that printer, just can't get jobs to it through lp.

Remote printing is set up on the machine, but the permissions on /usr/bin/lp seem fine. I can even do an lp from the other accounts and it'll assign a job name, it just won't print. It's not stuck in the queue, doing an lpstat never shows any jobs.

Any ideas?

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> -> SCO OpenServer 5.0 root can print to local prtr users can't


Increase ad revenue 50-250% with Ezoic

More Articles by © anonymous

Thu Mar 9 20:32:04 2006: 1757   TonyLawrence

Lot of posts here on that; have you read them?

Thu Mar 9 21:05:16 2006: 1758   TonyLawrence

Something doesn't make sense: you say it's not stuck in the queue. If it's not in the queue, it either failed to print or did print (was sent to the printer anyway).

Look in the /var/spool/lpd/printername : are the jobs there and lpstat just isn't seeing them?

Wait - you said it's on /dev/lp0 - so it isn't a remote - WHAT users can't print to this? Local users? Remote users?

Fri Mar 10 12:39:57 2006: 1762   anonymous

the jobs aren't in /var/spool/lpd, in fact it seems like they disappear just as soon as I put in the lp command. (permissions on the directory were fine too)

root has no problems printing with lp - those jobs come out fine, it's just the other user accounts that refuse to print. There's no entries in the users.deny and I did a scoadmin printer just to check to see if any users had been set to be denied and there were none. I'm just completely baffled.

Fri Mar 10 12:40:51 2006: 1763   anonymous

sorry, it's the local user accounts that don't print

Fri Mar 10 12:55:46 2006: 1764   TonyLawrence

Look in the "requests" log. Do the users show up there? If they do, then the lp system *did* print and it's what they are sending that is somehow whacked.

You said they got a job id, so unless your system is totally broken, these got spooled. You can confirm that by "disable lexmark" (or whatever you called it)
and observing that the files do show up in the spool directory.

If you then "enable", and the jobs disappear, they'll be in the "requests" log and they went to the printer..

Fri Mar 10 12:57:04 2006: 1765   TonyLawrence

And it wouldn't be /var/spool/lpd: this is a local printer so it's /usr/spool/lp/temp

Fri Mar 10 15:00:06 2006: 1767   anonymous

This is interesting.

I disabled the local printer (local_lp is the name) and sent a job to the queue from one of the local user accounts. I checked /usr/spool/lp/temp and found the job there.

Then I enabled the printer and the job immediately disappeared. But the printer still printed nothing.

Fri Mar 10 15:05:52 2006: 1768   TonyLawrence

Well, I've been trying to tell you this: the problem is what you are sending to the printer. The job apparently is going there: if you really, really need to prove it you could:

touch /tmp/printfile
chmod 777 /tmp/printfile
/usr/lib/lpadmin local_lp -v /tmp/printfile

Fri Mar 10 15:38:19 2006: 1769   anonymous

Sorry for the continued craziness. But it keeps going.

I did the above - created /tmp/printfile, set permissions, and set it as the default device for printer local_lp.

Then I sent it jobs through lp from both root and the user accounts.

When I sent it jobs through root, they were clearly being appended to the file. When I sent it jobs through the user accounts, the file didn't change.

Fri Mar 10 15:41:29 2006: 1770   TonyLawrence

Then the user should have gotten email explaining what happened..

Fri Mar 10 16:35:18 2006: 1771   TonyLawrence

And now this really looks like your perms are munged. Have you REALLY checked this?

Mon Mar 13 19:31:51 2006: 1779   anonymous

Here are the permissions for lp:
---x--s--x 1 bin lp 2600 Apr 27 1999 lp@
---x--s--x 1 bin lp 91484 Apr 27 1999 lp
-rws--s--x 1 root daemon 36680 Apr 22 1999 lp@
/var/spool/lpd directory:
drwxrwxr-x 11 root daemon 512 Mar 13 14:12 lpd

Is there anything else I should be checking?

Tue Mar 14 13:19:47 2006: 1781   TonyLawrence

Did you run scoadmin to fix permissions - or at least check them?

There is something whacked here - you probably need to have someone log in and see what is really happening here.. or if there is someone local to you, have them stop in. I think we are just missing something obvious.

Tue Mar 20 20:17:11 2007: 2924   anonymous

hen I try to print to a network printer when *not* logged
in as root, the print job never reaches the printer. There
are no errors at the command line.


One of the reasons this can occur is due to incorrect
permissions on the /etc/hosts file. Check this first.

Common /etc/hosts permissions should be 0644.

So, change your /etc/hosts to the permissions above,
by using following command:

# chmod 0644 /etc/hosts

Sat Jun 2 15:28:58 2007: 3016   anonymous

common problem with unix printing. i've found no way to resolve this issue, under unix or linux. Seems the the lp command demands only root to print. Shoddy programming if you ask me. Should be a lpuser file somewhere on the system and anyone (username) listed in the file should be able to print to any printer allowed. No matter how screwed up his/her/it's document is, it should print something.

Tue Jul 31 09:26:41 2007: 3064   John

Had the same problem, print jobs for ordinary users 'stick' in the print queue & stop anything else printing in that queue. Cancel all the jobs for ordinary users & then any root jobs would print.
Set permissions on /etc/hosts (was a link file on my system, so cd to the link directory) & set the permissions to 644, all jobs dissapeared from queue as soon as set permissions & now printing fine !

Fri Aug 31 17:21:31 2007: 3099   anonymous

simply check the dev directory for the persmissons on lp, change to 666 and off you go!)

Mon Feb 16 21:08:47 2009: 5445   anonymous

FYI: I have encountered this kind of issue in the past and the resolution was this: The lp command was producing an error message due to the -o options not working with the driver file used. EG -o si was not understood by the version of the driver file used. When you are root, this error is reported (if you capture it) but the print job continues. If you are not root-equivalent, the error stops the print job from spooling out, it just disappears. Remove all the options on the line first, and test print, and you might find it to be the cause.

Mon Feb 16 21:18:11 2009: 5446   TonyLawrence

I'd have to see your driver script to understand how that could happen. An unknown option would just be ignored by any script I recall.

Kerio Samepage

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. ((Edsger W. Dijkstra)

This post tagged: