Printers with samba are a constant struggle to deal with. My latest installment of the never-ending struggle with me and the Windows operating system involves the point'n'print feature. As you may have guessed, mine is not functional. I have:
-added the [print$] share
-added this line to [global]: printer admin = root
-granted user root the SePrintOperatorPrivilege
Despite all this, I cannot upload print drivers from my windows xp machine to my linux server. The drivers will transfer fine, then when I apply the changes, it gives me this error message, which I have committed to memory: "Printer settings could not be saved. Access is denied." rpcclient setdriver didn't work either:
Code:
SetPrinter call failed!
result was WERR_ACCESS_DENIED
There is no reason whatsoever that access should be denied to a superuser with print privileges and who is on the "print admin" list. If there is anybody who has got this working on samba 3, please tell us what's the secret?
important bits out of my smb.conf:
Code:
printcap name = cups
load printers = yes
# It should not be necessary to spell out the print system type unless
# yours is non-standard. Currently supported print systems include:
# bsd, sysv, plp, lprng, aix, hpux, qnx, cups
printing = cups
# Samba 3.x supports the Windows NT-style point-and-print feature. To
# use this, you need to be able to upload print drivers to the samba
# server. The printer admins (or root) may install drivers onto samba.
# Note that this feature uses the print$ share, so you will need to
# enable it below.
# printer admin = @<group> <user>
printer admin = root
# This should work well for winbind:
; printer admin = @"Domain Admins"
enable privileges = yes
[printers]
comment = All Printers
browsable = no
printable = yes
writable = no
public = yes
path = /var/spool/samba
# to allow user 'guest account' to print.
guest ok = yes
create mode = 0700
use client driver = yes
printer admin = printer-admin
[epson]
comment = Epson Stylus C88
printable = yes
path = /var/spool/samba
public = yes
guest ok = yes
printer admin = root
[print$]
path = /var/lib/samba/printers
browseable = yes
read only = yes
write list = root
guest ok = yes
public = yes