Printing Developments Since Samba-2.2
Prior to Samba-2.2.x, print server support for Windows clients was limited to
LanMan
printing calls. This is the same protocol level as Windows 9x/Me PCs offer when they share printers.
Beginning with the 2.2.0 release, Samba started to support the native Windows NT printing mechanisms. These
are implemented via
MS-RPC
(Remote Procedure Calls).
MS-RPCs use the
SPOOLSS
named pipe for all printing.
The additional functionality provided by the new SPOOLSS support includes:
-
Support for downloading printer driver files to Windows 95/98/NT/2000 clients upon
demand (
Point'n'Print
).
-
Uploading of printer drivers via the Windows NT
Add Printer Wizard
(APW)
or the
Imprints tool set.
-
Support for the native MS-RPC printing calls such as StartDocPrinter, EnumJobs(), and so on. (See the
MSDN documentation for more information on the
Win32 printing API).
-
Support for NT Access Control Lists (ACL) on printer objects.
-
Improved support for printer queue manipulation through the use of internal databases for spooled
job information (implemented by various *.tdb files).
A benefit of updating is that Samba-3 is able to publish its printers to Active Directory (or LDAP).
A fundamental difference exists between MS Windows NT print servers and Samba operation. Windows NT
permits the installation of local printers that are not shared. This is an artifact of the fact that
any Windows NT machine (server or client) may be used by a user as a workstation. Samba will publish all
printers that are made available, either by default or by specific declaration via printer-specific shares.
Windows NT/200x/XP Professional clients do not have to use the standard SMB printer share; they can
print directly to any printer on another Windows NT host using MS-RPC. This, of course, assumes that
the client has the necessary privileges on the remote host that serves the printer resource. The
default permissions assigned by Windows NT to a printer gives the print permissions to the well-known
Everyone
group. (The older clients of type Windows 9x/Me can only print to shared
printers.)
|