diff options
author | Gerald Carter <jerry@samba.org> | 2001-04-19 21:30:20 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2001-04-19 21:30:20 +0000 |
commit | e3fc10eab22443376ac3312447874607810dbc6b (patch) | |
tree | 4731fee5485deed4bd37c44c348a9630ece4a1fa /docs/textdocs/PRINTER_DRIVER2.txt | |
parent | 3cfd1cb50b3fd71b8b523b26a3378eea4eb10130 (diff) | |
download | samba-e3fc10eab22443376ac3312447874607810dbc6b.tar.gz samba-e3fc10eab22443376ac3312447874607810dbc6b.tar.bz2 samba-e3fc10eab22443376ac3312447874607810dbc6b.zip |
syncing up with 2.2
(This used to be commit dd83f412e9c60c02bf1d5e11a13a6122c71375ca)
Diffstat (limited to 'docs/textdocs/PRINTER_DRIVER2.txt')
-rw-r--r-- | docs/textdocs/PRINTER_DRIVER2.txt | 332 |
1 files changed, 0 insertions, 332 deletions
diff --git a/docs/textdocs/PRINTER_DRIVER2.txt b/docs/textdocs/PRINTER_DRIVER2.txt deleted file mode 100644 index 2bca8e69c9..0000000000 --- a/docs/textdocs/PRINTER_DRIVER2.txt +++ /dev/null @@ -1,332 +0,0 @@ -!== -!== PRINTER_DRIVER2.txt for Samba release 2.2.0-alpha1 23 Nov 2000 -!== - -========================================================================== - Gerald Carter <jerry@samba.org> 14 Sep 2000 -=========================================================================== - -Introduction -============ -Beginning with the 2.2.0 release, Samba now supports the native Windows -NT printing mechanisms implemented via MS-RPC (i.e. the SPOOLSS named -pipe). Previous versions of Samba only supported the LanMan printing -calls. - -The additional functionality provided by the new SPOOLSS support -includes: - - o Support for downloading printer driver files to - Windows 95/98/NT/2000 clients upon demand. - o Uploading of printer drivers via the Windows NT - Add Printer Wizard (APW) or the Imprints tool set - o Support for the native MS-RPC printing calls such - as StartDocPrinter, EnumJobs(), etc... (See the MSDN - documentation for more information on the Win32 - printing API) - o Support for NT Access Control Lists (ACL) on - printer objects - o Improved support for printer queue manipulation through - the use of an internal database for spooled job information. - - -Configuration -============= - -In order to support the uploading of printer driver files, you -must first configure a file share named [print$]. The name of -this share is hard coded in Samba's internals so the name is -very important (print$ is the service used by Windows NT -print servers to provide support for printer driver download. - -<aside> - Previous versions of Samba recommended using a share named - [printer$]. This name was taken from the printer$ service - created by Windows 9x clients when a printer was shared. - (Windows 9x printer servers always have a printer$ service - which provides read-only access via no password in order to - support printer driver downloads). - - However, the initial implementation allowed for a parameter - named 'printer driver location' to be used on a per share basis - to specify the location of the driver files associated with that - printer. Another parameter named 'printer driver' provided a - means of defining the printer driver name to be sent to the - client. - - These parameters, including 'printer driver file', are being - depreciated and should not be used in new installations. - For more information on this change, you should refer to the - "Migration" section of this document. -</aside> - -You should modify the server's smb.conf file to create the -following file share (of course, some of the parameter values, -such as 'path' are arbitrary and should be replaced with -appropriate values for your site): - - [print$] - path = /usr/local/samba/printers - guest ok = yes - browseable = yes - read only = yes - write list = ntadmin - -The 'write list' is used to allow administrative level user accounts -to have write access in order to update files on the share. -See the smb.conf(5) man page for more information on configuring -file shares. - -The requirement for 'guest ok = yes' depends upon how your -site is configured. If users will be guaranteed to have -an account on the Samba host, then this is a non-issue. - - [author's note: The non-issue is that if all your Windows - NT users are guarenteed to be authenticated by the Samba server - (such as a domain member server and the NT user has already - been validated by the Domain Controller in order to logon - to the Windows NT console), then guest access is not necessary. - Of course, in a workgroup environment where you just want - to be able to print without worrying about silly accounts - and security, then configure the share for gues access. - You'll probably want to add 'map to guest = Bad User' - in the [global] section as well. Make sure you understand - what this parameter does before using it though. --jerry] - -In order for a Windows NT print server to support the -downloading of driver files by multiple client architectures, -it must create subdirectories within the [print$] service -which correspond to each of the supported client architectures. -Samba follows this model as well. - -Next create the directory tree below the [print$] share for -each architecture you wish to support. - - [print$]----- - |-W32X86 ; "Windows NT x86" - |-WIN40 ; "Windows 95/98" - |-W32ALPHA ; "Windows NT Alpha_AXP" - |-W32MIPS ; "Windows NT R4000" - |-W32PPC ; "Windows NT PowerPC" - - -+++++++++++++ ATTENTION! REQUIRED PERMISSIONS +++++++++++++++++ - -Currently, the connected user must have uid 0 in order to -successfully install a new printer driver. There are two -points of authorization in this process. - - o Access permissions to add files to the [print$] - share. This access control is managed using - the same semantics as normal file shares. - (i.e. filesystem permissions, write list, - writeable, etc...) - - o Authorization to add entries to - - $SAMBA/var/locks/ntdrivers.tdb - - Updates to this TDB are curently restricted - to the root account. - -Therefore, you must be connected to the samba host as the -root user in order to add a new printer driver. - - -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -!== The Windows NT APW - -Once you have created the required [print$] service and associated -subdirectories, simply log onto the Samba server using a root account -from a Windows NT 4.0 client. Navigate to the "Printers" folder -on the Samba server. You should see an initial listing of printers -that matches the printer shares defined on your Samba host. - -<aside> - It is possible on a Windows NT print server to have printers - listed in the Printers folder which are not shared. Samba does - not make this distinction. By definition, the only printers of - which Samba is aware are those which are specified as shares in - smb.conf. - - Another interesting side note is that Windows NT clients do - not use the SMB printer share, but rather can print directly - to any printer on another Windows NT host using MS-RPC. This - of course assumes that the printing client has the necessary - privileges on the remote host serving the printer. The default - permissions assigned by Windows NT to a printer gives the "Print" - permissions to the "Everyone" well-known group. -</aside> - -The initial listing of printers in the Samba host's Printers -folder will have no printer driver assigned to them. The way -assign a driver to a printer is to view the Properties of the -printer and either - - o Use the "New Driver..." button to install a new printer - driver, or - o Select a driver from the popup list of installed drivers. - Initially this list will be empty. - -If you wish to install printer drivers for client operating -systems other than "Windows NT x86", you will need to use the -"Sharing" tab of the printer properties dialog. - -Assuming you have connected with a root account, you will -also be able modify other printer properties such as -ACLs and device settings using this dialog box. - - -!== Imprints - -The Imprints tool set provides a UNIX equivalent of the Windows -NT Add Printer Wizard. For complete information, please refer -to the Imprints web site at http://imprints.sourceforge.net/ -as well as the documentation included with the imprints source -distribution. This section will only provide a brief introduction -to the features of Imprints. - -What is Imprints? - - Imprints is a collection of tools for supporting the goals of - - o Providing a central repository information regarding - Windows NT and 95/98 printer driver packages - o Providing the tools necessary for creating the Imprints - printer driver packages. - o Providing an installation client which will obtain - and install printer drivers on remote Samba and Windows - NT 4 print servers. - - -Creating Printer Driver Packages - - The process of creating printer driver packages is beyond - the scope of this document (refer to Imprints.txt also included - with the Samba distribution for more information). In short, - an Imprints driver package is a gzipped tarball containing the - driver files, related INF files, and a control file needed by the - installation client. - -The Imprints server - - The Imprints server is really a database server that may - be queried via standard HTTP mechanisms. Each printer entry - in the database has an associated URL for the actual - downloading of the package. Each package is digitally signed - via GnuPG which can be used to verify that package downloaded - is actually the one referred in the Imprints database. It is - **not** recommended that this security check be disabled. - -The Installation Client -<aside> - More information regarding the Imprints installation client is available - in the Imprints-Client-HOWTO.ps file included with the imprints source - package. -</aside> - - The Imprints installation client comes in two forms. - - o a set of command line Perl scripts - o a GTK+ based graphical interface to the command - line perl scripts - - The installation client (in both forms) provides a means - of querying the Imprints database server for a matching - list of known printer model names as well as a means to - download and install the drivers on remote Samba and Windows - NT print servers. - - The basic installation process is in four steps and perl code - is wrapped around smbclient and rpcclient. - - foreach (supported architecture for a given driver) - { - 1. rpcclient: Get the appropriate upload directory - on the remote server - 2. smbclient: Upload the driver files - 3. rpcclient: Issues an AddPrinterDriver() MS-RPC - } - - 4. rpcclient: Issue an AddPrinterEx() MS-RPC to actually - create the printer - -!== The printer driver name space problem - - One of the problems encountered when implementing the Imprints - tool set was the name space issues between various supported - client architectures. For example, Windows NT includes a driver - named "Apple LaserWriter II NTX v51.8" and Windows 95 calls - its version of this driver "Apple LaserWriter II NTX" - - The problem is how to know what client drivers have been - uploaded for a printer. As astute reader will remember that - the Windows NT Printer Properties dialog only includes space - for one printer driver name. A quick look in the Windows NT - 4 system registry at - - HKLM\System\CurrentControlSet\Control\Print\Environment - - will reveal that Windows NT always uses the NT driver name. - The is ok as Windows NT always requires that at least the Windows - NT version of the printer driver is present. However, Samba - does not have the requirement internally. Therefore, how can - you use the NT driver name if is has not already been installed? - - The way of sidestepping this limitation is to require that all - Imprints printer driver packages include both the Intel Windows - NT and 95/98 printer drivers and that NT driver is installed - first. - - -Migration to 2.2.x -============================= - -Given that printer driver management has changed -(we hope improved :) ) in 2.2.0 over prior releases, -migration from an existing setup to 2.2.0 can follow -several paths. - -<WARNING> - The following smb.conf parameters are considered to be - depreciated and will be removed soon. Do not use them - in new installations - - 'printer driver file' (G) - 'printer driver' (S) - 'printer driver location' (S) -</WARNING> - - -Here are the possible scenarios for supporting migration: - - o If you does not desire the new Windows NT - print driver support, nothing needs to be done. - All existing parameters work the same. - - o If you want to take advantage of NT printer - driver support but does not want to migrate the - 9x drivers to the new setup, the leave the existing - printers.def file. When smbd attempts to locate a - 9x driver for the printer in the TDB and fails it - will drop down to using the printers.def (and all - associated parameters). The make_printerdef tool - will also remain for backwards compatibility but will - be moved to the "this tool is the old way of doing it" - pile. - - o If you instal a Windows 9x driver for a printer on - your Samba host (in the printing TDB), this information will - take precedence and the three old printing parameters - will be ignored (including print driver location). - - o If you want to migrate an existing printers.def file into - the new setup, the current only solution is to use the - Windows NT APW to install the NT drivers and the 9x - drivers. (comment: this could possibly be scripted using - smbclient and rpcclient, but I haven't had time --jerry) - -!== end of PRINTER_DRIVER2.txt ======================================= -!===================================================================== - |