There are tons of manuals, howtos and blog posts, but they all depend on old samba versions.
I have get it working with Samba 3.3.7 and CUPS 1.3.8 on an Debian Lenny system.
smb.conf:
[global]
security = user
load printers = yes
printing = CUPS
printcap name = CUPS
printcap = CUPS
force printername = yes
enable privileges = yes
[printers]
comment = All Printers
browseable = no
guest ok = yes
path = /var/spool/samba
public = yes
printable = yes
writable = no
use client driver = no
[print$]
comment = Printer Driver Download Area
path = /var/lib/samba/printers
browseable = no
guest ok = yes
read only = yes
write list = @printeradms root
directory mask = 0775
create mask = 0664
Tasks
- create an group named printeradms
- add users to the group
- /var/lib/samba/printers: writeable for the group printeradms
- set printer rights for the group: net rpc rights grant 'DOMAINNAME\printeradms' SePrintOperatorPrivilege
- add first printer to cups
- restart samba
Login to an Windows computer
- connect to the samba server \\servername
- go to subfolder printers
- right click on you printer
- klick on option
- there will be an error message about missing driver. CANCEL here!
- install new driver in the option dialog
- done!
Your printer queue will now blow up, because windows printer queue shows also the completed cups printer jobs. You have to add the following lines to cupsd.conf:
PreserveJobFiles No
PreserveJobHistory No