Understanding printing on Mac OS X

Mac uses the Common UNIX Printing System (CUPS) to manage printing services. Although you can access the CUPS facility directly to manage printers, in general you do not need to do so. Printers are managed through the Print and Scan system preference, which uses the CUPS facility. For example, when you add a printer through Print and Scan, the CUPS facility does the following:

  • Creates a Postscript Printer Description (PPD) file that defines the printer. The file is given the name of the printer and resides in the /etc/cups/ppd directory; for example, /etc/cups/ppd/laserjet2.ppd.
  • Modifies the CUPS configuration file, /etc/cups/printers.conf, with information about the new printer.

One method to set up authenticated printing for all Mac computers in your environment is to configure an authenticated printer on one (template) computer, then export the files that CUPS creates to define this printer (printerName.ppd and printers.conf) to each of your Mac computers. You can use group policy to export these files to all your Mac computers.

You can also configure printing directly with CUPS commands.

To set up authenticated printing for multiple printers you can do the following:

To set up authenticated printing using the Centrify plug-in:

To begin this procedure, identify the printer to configure, including the server that hosts it; for example, HPLaserJet2.@dc01.

  1. On the Mac computer that you will use to define an authenticated printer template, open System Preferences > Print & Scan (Print & Fax on older systems), then click the plus sign (+) and select Add Other Printer or Scanner.
  2. Double-click the Advanced icon in the toolbar.

    Note:   If the Advanced option is not showing, press and hold the Option and Apple keys and right-click in the open area in the toolbar next to the Windows icon and select Customize Toolbar. Drag the Advanced icon to the toolbar and click Done. Then double-click it.

  3. Scroll in the Type drop-down list and select Windows Printer via Centrify from the list.

    Note that after you make this selection, the URI scheme in the Device URI window changes to cdcsmb://, which specifies the Centrify plugin.

  4. Type the complete URI specification for the printer in the form:

    scheme://servername/sharename

    for example:

    cdcsmb://printserver.acme.com/hplaserjet2

    Note:   A URI specification does not accept spaces. If the printer share name contains spaces, you must replace them with %20 (ASCII code for space); for example, to specify the HP Color LaserJet 4 printer:

    cdcsmb://printserver.acme.com/HP%20Color%20LaserJet%204
  5. Type a name for the printer; for example HPLaserJetMac.

    When you type the URI for the printer, the first part of the name automatically appears in the Name field. You can change that name now. This is the name that will appear in the list of printers in the Print and Scan system preference and in the list of available printers when a user prints a document. It is also the name of the PPD (Postscript Printer Description) file that the CUPS facility creates for each printer that is added to your Printer preferences.

    Type an optional description in Location to assist users in locating the printer.

  6. In the Print Using window, specify the type of the printer, which enables you to properly manage the printer.

    For example, if you have drivers installed for the printer, click Select Printer Software and select the appropriate item such as HP Laserjet 4300, then click OK.

    You can also specify Generic Postscript Printer, or click Other to browse for drivers or printer software.

    Click the Add button to add the printer to the list of available printers.

  7. Repeat this procedure for as many printers as you want to make available for authenticated printing.

You can now use the Copy Files group policy to copy the new printerName.ppd file and updated CUPS configuration file (printers.conf) to the appropriate locations on each of your Mac computers in the domain.

To copy printer files to other computers:

  1. In the Finder on the Mac template computer, navigate to the /etc/cups directory by clicking Go > Go to Folder, then type /etc/cups and click Go.
  2. Select printers.conf and copy it to the desktop. When prompted, enter your administrator password to copy the file.
  3. Open the ppd folder (/etc/cups/ppd). Select the files for all the authenticated printers you defined in the previous procedure and copy them to the desktop.
  4. On the desktop, change the file permissions for the printers.conf and *.ppd files so you can copy them to sysvol:
    1. Select the files and click File > Get Info.

    2. For each open dialog box, expand Sharing & Permissions, then click the lock icon and provide administrator credentials for making changes. Set the permissions for everyone to Read only.

    3. Reset the lock and close all the open dialogs.

  5. On the Windows domain controller create a sub-directory for the printer file in SYSVOL.

    SYSVOL is a well-known shared directory on the domain controller that stores server copies of public files that must be shared throughout the domain. You can use it to copy the printer definition and configuration files to all Mac computers that join the domain.

    SYSVOL is located at:

    C:\Windows\SYSVOL\sysvol\domainName\

    For example, assuming the domain is acme.com, and using the name MacPrinters for the directory, create the following directory:

    C:\Windows\SYSVOL\sysvol\acme.com\MacPrinters
  6. On the Mac computer, copy the files from the desktop to SYSVOL on the Windows domain controller. If you are connected to the domain, you should see the domain controller in the Finder. If the domain controller is not visible in the Finder, connect to it:

    1. Click Go > Connect to Server and select the domain controller.

    2. When prompted select SYSVOL; for example:

    3. Navigate to the MacPrinters directory you created, for example by clicking acme.com then MacPrinters.

    4. Drag the printer files to MacPrinters.

  7. Configure the Copy Files group policy.

    1. On the Windows domain controller, open the Group Policy Management Editor and select the GPO that is used to manage Mac computers.

    2. Navigate to Computer Configuration > Policies > Common UNIX Settings and double-click Copy Files.

    3. In Copy file policy setting, select Enabled.

    4. Click Add, then Browse. Double-click to open the directory you created for the printer files in Understanding printing on Mac OS X (for example, MacPrinters).

    5. Select the printers.conf file. Filename now shows MacPrinters/printers.conf.

    6. In Destination, type /etc/cups. This group policy will copy printers.conf to the /etc/cups directory of each computer that joins the domain.

    7. Select Use destination file ownership and permissions. The file will be assigned the default ownership and permissions:

      owner: root (0)

      group: lp (26)

      permission 0600 (rw- --- ---)

    8. Select OK to add the printers.conf file.

  8. Click Add again and browse to MacPrinters to add the PPD files.

    1. Select one of the PPD files you copied to the MacPrinters directory.

    2. In Destination, type /etc/cups/ppd.

    3. Select Use destination file ownership and permissions. The file will be assigned the default ownership and permissions:
      owner: root (0)

      group: lp (26)

      permission 0644 (rw- r-- r--)

    4. Click OK to add the file.

  9. Repeat the sub-steps in Step 8 for each of the PPD files that you have defined, then click OK to enable the policy.

    This group policy will copy each printerName.ppd file to the /etc/cups/ppd directory of every computer to which the policy applies and that is joined to the domain.

  10. Run the adgpupdate command on each target Mac computer to trigger an update of group policies and execute the new Copy Files policy.

    By default, group policies are updated automatically every 90 minutes, so you can skip this step and wait for the automatic update if you wish. You should also log out and back in again on each computer to update the printer configuration dialogs.