[Samba] printer.tdb (tdb_oob len errors) and Quirkiness: Solaris 9, Samba 3.0.0

Kurt Pfeifle
2003-11-18T18:10:00Z

> [Samba] printer.tdb (tdb_oob len errors) and Quirkiness: Solaris 9, Samba
3.0.0
>
>     * To: samba at listsdotsambadotorg
>     * Subject: [Samba] printer.tdb (tdb_oob len errors) and Quirkiness:
Solaris 9, Samba 3.0.0
>     * From: Jeff Gardiner <gardiner at imagingdotrobartsdotca>
>     * Date: Tue, 18 Nov 2003 11:39:28 -0500
>
> I set up printing IAW:

What does "IAW" mean?

> http://us4.samba.org/samba/docs/man/printing.html
>

This side is currently unavailable to me. I hope it contains the same
document as http://us3.samba.org/samba/docs/man/printing.html, which I
*can* see...

> I've confirmed the drivers are being installed to
/etc/samba/drivers/W32X86.

More exactly, they should end up in "/etc/samba/drivers/W32X86/2/" or
in "/etc/samba/drivers/W32X86/3/" (depending on which type of driver
you chose to install.

> Yet I am unable to print even a test page.  I get the following error:
>
> "Test page failed to print.  Would you like to view the print trouble
shooter
> for assistance?  Access is denied."
>

What are you getting with these commands:

    rpcclient -Uroot -c "enumprinters" SUPERSERVER    (if you have in
the "description"
                                                       lines two commas, there
are no
                                                       drivers recognized by
Samba....)

    rpcclient -Uroot -c "enumdrivers" SUPERSERVER
    rpcclient -Uroot -c "enumdrivers 2" SUPERSERVER
    rpcclient -Uroot -c "enumdrivers 3" SUPERSERVER

    rpcclient -Uroot -c "enumports" SUPERSERVER

This checks if Samba exports the kind of stuff Windows clients are
looking for....


> And I get the following errors in my samba log file:
>
> tdb(/usr/local/samba/var/locks/printing/irl.tdb): tdb_oob len 1600941951
> beyond eof at 67552
> [2003/11/18 11:05:20, 0] tdb/tdbutil.c:tdb_log(724)
>   tdb(/usr/local/samba/var/locks/printing/irl.tdb): tdb_oob len 858730825
> beyond eof at 67552
> [2003/11/18 11:05:20, 0] tdb/tdbutil.c:tdb_log(724)
>   tdb(/usr/local/samba/var/locks/printing/irl.tdb): tdb_oob len 1600941951
> beyond eof at 67552
>
> The following is my smb.conf file:
>
> [global]
>
> netbios name = SUPERSERVER
> workgroup = WINZOMBIES
> os level = 99
> preferred master = yes
> domain master = yes
> local master = yes
> security = user
> domain logons = yes
> logon path = \\%N\%u\profile
> logon drive = H:
> logon home = \\%L\%U
> logon script = startup.bat
> guest account  = nobody
> map to guest = bad user
>
> time server = yes
> admin users = root @sysgrp
>
> smb passwd file = /etc/samba/smbpasswd
> log file = /var/log/samba/log.%m
>
> printing = lprng
> load printers = yes
> show add printer wizard = yes
> printcap name = /etc/samba/lib/printcap
> printer admin = @ntadmin root
> lpq cache time = 20
> use client driver = no
>
> [netlogon]
> path = /var/lib/samba/netlogon
> read only = yes
> write list = ntadmin
>
> [profiles]
> path = %H/profile
> read only = no
> create mask = 0600
> directory mask = 0700
>
> [homes]
> comment = Home Directories
> read only = No
> browseable = No
>
> [print$]
> comment = Printer Driver Download Area
> path = /etc/samba/drivers
> browseable = yes
> guest ok = yes
> read only = yes
> printable = yes

Where it you find the advice to tag your [print$] share as
"printable"??
This is wrong. It means that Samba tries to export a printer with the
name of "print$", while it should be just a special file share holding
the driver files for clients to download. (If it is a typo in above
document, quick-quick!, provide a pointer to the exact place where it
occurs so it may be corrected....)

Instead of "printable = yes" insert a "write list =
@ntadmingroup,
username1, username2" to make it writeable to these users. (root
gets write access in any case, if he is in the "smbpasswd" file (or
backend).

Doesn't it work if you copy the print-related settings as suggested
in the document you quoted? Start there and then work from that point
to make your modifications, and you'll see which of your settings
(like "create mode" etc.) may break it....

>
> [printers]
> comment = All Printers
> browseable = no
> printable = yes
> public = yes
> writable = no
> guest ok = yes
> create mode = 0700
> path = /var/spool/samba
>
> [irl]
> path=/tmp
> comment = Main Lab Lexmark Printer
> browseable = yes
> printable = yes
> public = yes
> create mode = 0700
> lpq command = lpq -Plp-std
> lprm command = lprm -Plp-std %j
> print command = /irus/bin/lpr -r -h -Plp-std %s
>

Cheers,
Kurt