Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I've set up a Fedora 10 server and I want to print to an attached printer from three Windows Vista and two XP workstations.

After much manual reading I got this situation:

  • All workstations can print
  • One workstation can print from all but one application.

The offender is IE7 (and IE8) from a Vista Business workstation. Everytime a print job is started from this application on that specific workstation I get an "access denied" error in the CUPS logs. Printing from IE from other workstations works. (WTF?!)

My current workaround is to first print to a PDF file and then print this PDF from Adobe Reader from the same workstation.

A secondary problem is that I don't have much experience with Fedora/Linux, so this might be a noob question. Sorry if that's the case.

  • What could be the problem?
  • "Access denied" to what? The log doesn't give any more information on which resource the access has been denied. What are the usual suspects?
  • What's the best way to debug such situations?

I'm not using Samba for printing, I just could not get it working. I'm using CUPS with no authentication, i.e. everyone can print. On the workstations I've added the printers as "internet printer", providing this URL https://myserver:631/printers/myprinter

EDIT: I updated to Fedora 11 and the problem still exists...

EDIT 2: Some more information:

  • I updated to Fedora 12 and the problem still exists
  • Printing from Adobe Reader as an Internet Explorer plugin results in the same problem, so it seems the problem is somewhere with the process itself.
share|improve this question
    
What authentication does your CUPS require for printing to this printer? Can anyone who knows the IP address print to it? The one server that has this problem, is it a Vista or XP one? Most likely the problem is some configuration setting for IE on that one server. –  Eddie Jul 15 '09 at 3:16
    
It's Vista Business and everyone in the network can print. I also pretty sure that it is a misconfiguration on the workstation/IE. –  Daniel Rikowski Jul 15 '09 at 9:44

2 Answers 2

The problem might be the format of the data that is sent to the printer. Do you use native printer drivers on the windows workstation? If so, you might need to enable "raw" printing, that is, sending raw binary print codes from the workstation through to the printer.

You might need to edit the cups configuration file and uncomment application/octet-stream to enable raw printing. I'm not sure what the security ramifications of this are.

The other thing that may or may not work for you is setting your printer up as a postscript printer, using a generic postscript driver on the Windows client. However, I've rarely gotten this to work properly.

share|improve this answer
    
Wouldn't that affect all other workstations, too? Why would one workstation require a special setting, while the others don't? –  Daniel Rikowski Nov 19 '09 at 9:30
    
@DR: Difficult to say, except that it may depend on what drivers those workstations are using and what they are printing. –  Mr. Shiny and New 安宇 Nov 19 '09 at 16:22

How are you exposing the printer ... via Samba I assume? As Mr. Shiny and New said, you probably want to expose the printer as a "raw" printer, allowing the Windows devices to use the normal drivers to talk to the printer. This is how I've always exposed printers from a Linux server to Windows clients.

To debug this, you'll want to look at the Samba logs as well as the CUPS logs. First check the Samba logs to see if you can see access from the Windows machines to the printer. Also check the CUPS logs. Look for errors in either set of logs.

If you have selinux enabled, then for testing purposes only execute the command:

setenforce permissive

After doing this, restart Samba and CUPS and try access. If this makes a difference, then you may need to look in the selinux audit logs to change some permissions there. Assuming you normally have selinux in enforcing mode, when you're done with testing, re-enable it with:

setenforce enforcing
share|improve this answer
    
I tried setting selinux to "permissive" but I got the same behavior. –  Daniel Rikowski Jun 9 '09 at 6:30
    
Do you see any errors in the Samba or CUPS logs on the server? –  Eddie Jun 9 '09 at 14:50
    
Yes I do, I mentioned it in my question. The message is "access denied", but no information on what resource the access is denied... –  Daniel Rikowski Jul 14 '09 at 6:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.