[Samba] Setting Windows drivers gives access denied error

Gundemarie Scholz spamyousilly at inbox.ru
Tue Sep 19 10:50:22 GMT 2006

Good morning!

For some time I have been experiencing a problem with adding Windows 
drivers for printers available and configured in CUPS already. Not being 
utterly familiar with how the process works I first tried it as root 
from different Windows machines, both W2K and XP Pro. I saw the driver 
files being uploaded, but then got an error message 'Printer settings 
could not be saved. Access is denied.'.

So I decided to do it 'on foot' like the official Samba-3 book 
describes. Adding the drivers again was not a problem, but setting them 
gave a 'SetPrinter call failed! result was WERR_ACCESS_DENIED'.

Version of Samba is 3.0.7 on Solaris 5.9, so not the latest one, but it 
used to work, and now it doesn't, without any of my colleagues or me 
having changed a setting (at least not consciously).

testparm smb.conf showed no errors. The relevant bits in smb.conf
looks like this:

         workgroup = [snipped]
         netbios name = [snipped]
         server string = [snipped]
         interfaces = [snipped]
         nt acl support = yes
         wins server = [snipped]
         socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
         security = domain
         encrypt passwords = Yes
         hosts allow = [snipped]
         update encrypted = Yes
         log file = /var/log/samba.d/smb.%m
         max log size = 10000
         log level = 2
         name resolve order = lmhosts hosts wins bcast
         add user script = /usr/sbin/useradd -d /dev/null -g 212 -s 
/bin/false -M %u
         winbind trusted domains only = yes
         logon script = %U.pyw
         logon path = \\%L\%u\profile
         logon home = \\%L\%u
         logon drive = H:
         password server = [snipped]
         domain master = No
         preferred master = No
         domain logons = No
         os level = 69
         dns proxy = No
         load printers = yes
         printing = cups
         printcap name = cups
         printer admin = root, pcadmin
         #disable spoolss = No
         use client driver = No
         message command = /bin/mailx -s 'message from %f' \
         root < %s; rm %s

         path = /usr/local/samba/printers
         browseable = yes
         read only = yes
         write list = root, pcadmin
         guest ok = Yes

         comment = Test all printers
         path = /tmp
         browseable = no
         writeable = no
         printable = yes
         printer admin = root, pcadmin
         create mask = 0600
         guest ok = Yes
         use client driver =yes

I came as far as successfully adding the drivers to the
appropriate directory with

% /usr/local/samba/bin/smbclient //localhost/print\$ -U root \
-c 'cd W32X86; put [list of drivers snipped]'
Domain=[snipped] OS=[Unix] Server=[Samba 3.0.7]
[list of drivers snipped]

% /usr/local/samba/bin/rpcclient -U root -c \
'adddriver "Windows NT x86" "gavin:[list of drivers snipped]"' \

and got a success message. But trying to set the drivers resulted in an

% /usr/local/samba/bin/rpcclient -U root -c \
'setdriver gavin gavin' localhost
added interface ip=[snipped] bcast=[snipped] nmask=[snipped]
SetPrinter call failed!

First I tried setting 'use client driver =no' in the printers section, 
but that didn't make any difference.

Then I got advised by a friend to change the following settings:
         log level = 7
         debug uid = yes

         printer admin = root, pcadmin
         #write list = root, pcadmin

Having done that even copying the drivers failed, so I uncommented the 
write list entry again. Now I have some 1300 lines of output due to the 
high log level, but what should I actually be looking for?


More information about the samba mailing list