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

19 comments



Increase ad revenue 50-250% with Ezoic


More Articles by © anonymous







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

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





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

gravatar
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

gravatar
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

gravatar
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

gravatar
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

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



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

gravatar
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:
/usr/bin
---x--s--x 1 bin lp 2600 Apr 27 1999 lp@
/usr/lpd/local
---x--s--x 1 bin lp 91484 Apr 27 1999 lp
/usr/lpd/remote
-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

gravatar
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.




Solution

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

gravatar
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

gravatar
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





Security is mostly a superstition. It does not exist in nature, nor do the children of men as a whole experience it. Avoiding danger is no safer in the long run than outright exposure. Life is either a daring adventure, or nothing. (Helen Keller)





This post tagged: