[Samba] Can not cancel print job

Andrew Watkins andrew at dcs.bbk.ac.uk
Thu Mar 9 20:35:07 GMT 2006



I think I may have found one problem and it could be a BUG in samba or a 
problem with the
Solaris printing system.

If you setup printers on samba host which is not the real print server 
then you get it problems
with the solaris printing system adding on @hostname.

For example:
Step1)    "\\medusa\lp131"  is allowing printing, but the real  printer 
server is on another machine.
Step 2)    If you send a few jobs to this printer you see this on the 
unix front:
               medusa# lpstat
                lp131-530              andrew at medusa.dcs.bbk.ac.uk   
48651   Mar 09 19:45
                lp131-526              andrew at medusa.dcs.bbk.ac.uk   
48651   Mar 09 19:45

Step 3) But when you try to cancel the jobs samba thinks you are not the 
owner
            looking at printing.c
                "is_owner"  will return false, since "pjob->user"  = 
"andrew at medusa.dcs.bbk.ac.uk"
                 so it ends up comparing  "user at host"  with  "user".

Any thoughts?

I don't think you can switch off the @host part, so can samba and 
print_job_find strip out @host part.


Andrew





>
> Hi,
>
> Using version samba 3.0.21 only "printer admin" users can cancel a 
> print job and all other users get "Access Denied".
>
> Error:
> smbd[21198]: Permission denied-- user not allowed to delete, pause, or
> resume print job. User name: wstudent. Printer name: lp131.
>
> log.smbd:
> [2006/02/28 09:46:04, 10] lib/username.c:user_in_list(570)
>   user_in_list: checking user wstudent in list
> [2006/02/28 09:46:04, 10] lib/username.c:user_in_list(575)
>   user_in_list: checking user |wstudent| against |andrew|
> [2006/02/28 09:46:04, 10] lib/username.c:user_in_list(575)
>   user_in_list: checking user |wstudent| against |root|
>
> [global]
>         debuglevel = 10
>         comment = %h Samba %v
>         server string = %h Samba %v
>         workgroup = DCSNT
>         hosts allow = 193.61.29. 193.61.28.
>         hosts deny = 0.0.0.0/0
>         locking = yes
>         password level = 10
>         domain master = no
>         local master = no
>         os level = 80
>         wins support = no
>         wins server = 193.61.29.179
>         password server = loki hades
>         security = domain
>         encrypt passwords = yes
>         preserve case = yes
>         short preserve case = yes
>         nt acl support = Yes
>         printer admin = andrew,root
>         load printers = no
>         lprm command = /usr/bin/cancel %p-%j
>         printcap name= lpstat
>
> [print$]
>         comment = Printer Driver Download Area
>         path = /usr/local/samba/var/drivers
>         browseable = no
>         guest ok = no
>         read only = yes
>         write list = andrew,root
>
> [lp131]
>         comment = Tally T2070 Line Printer Room 131
>         path = /var/spool/samba
>         writable = no
>         printable = yes
>         public = yes
>         guest ok = no
>
> Setup:
>     Solaris 9 and 10
>     Samba 3.0.20(a) / 3.0.21c
>     Windows XP sp2
>
> As always, Thanks....
>
> Andrew Watkins




More information about the samba mailing list