This chapter describes how to administer printers remotely when using the IPP, RFC-1179, and SMB network protocols. For information about planning for printer setup by using IPP, see Chapter 3, Setting Up Network Printing Services (Tasks).
This is a list of the information that is in this chapter:
Administering Printers on a Network When Using the Internet Printing Protocol (Task Map)
Administering Printers on a Network When Using the RFC-1179 Printing Protocol (Task Map)
Administering Printers on a Network When Using the SMB Protocol
For overview information about printing services and printers, see Chapter 1, Introduction to Printing in the Oracle Solaris Operating System.
Task |
Description |
For Instructions |
---|---|---|
Check printer status and obtain information about a printer when using IPP. |
The lpset command is used to check printer status when using IPP. | |
Move a remote print request when using IPP. |
The lpmove command is used to move print jobs to a new destination when using IPP. |
How to Move Remote Print Requests Between Print Queues When Using IPP |
Modify a remote print request when using IPP. |
The lp command is used to modify remote print requests when using IPP. | |
Share printers when using IPP. |
To share printers when using IPP, you need to modify the default file configuration. | |
Turn on IPP authentication mechanisms. |
In some Oracle Solaris releases, client authentication is required to access some uri-path and operation combinations. | |
Set authorizations that enable you to accept print queues when using IPP. |
The proper authentication information is required to enable an operation to be processed for the uri path. |
Setting Authorizations That Enable You to Accept Print Queues When Using IPP |
Add a user to the IPP AuthUser file. |
Adding a user to the IPP AuthUser file requires modification of the httpd-standalone-ipp.conf file by using the htpasswd command: |
Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
To obtain information about a printer when using IPP, you would type:
# lpset -a printer-uri-supported=ipp://server/printers/server queue |
To see the return output for the printer, you would type:
# lpstat -p test -l |
# lpset -a printer-uri-supported=ipp://server/printers/test test # lpstat -p test -l printer test disabled since Fri Nov 03 11:48:53 2006. available. new printer Form mounted: Content types: application/postscript Description: Connection: Interface: /usr/lib/lp/model/uri PPD: /usr/lib/lp/model/ppd/system/foomatic \ /HP/HP-Color_LaserJet_4600-Postscript.ppd.gz On fault: write root After fault: continue Users allowed: (all) Forms allowed: (none) Media supported: Letter A4 11x17 A3 A5 B5 Env10 EnvC5 EnvDL EnvISOB5 EnvMonarch Executive Legal Banner required Character sets: (none) Default pitch: Default page size: Default port setting: Options: |
You can remotely move print jobs between print queues when IPP is in use by using the lpmove command. Print jobs can be moved to the new destination by request ID or by the destination.
To move a remote print request from one print queue to another print queue when using IPP, type the following command:
$ lpmove request-id old-destination new-destination |
This example shows how to move a remote print request luna-185 to the new destination printer lucille by using the request ID.
$ lpmove luna-185 lucille |
This example shows how to move all of the print requests from the printer luna to the new destination printer lucille.
$ lpmove luna luciille |
You can use the lp command to perform a variety of tasks when using IPP. For more information about using the lp command, see the lp(1) man page.
Use the lp command with the appropriate command options to modify remote print jobs.
$ lp [-d] [-H] [-i] [-n] [-o] |
Specifies the destination for the print request.
Specifies special-handling. Prints the request according to the value of the special-handling.
Specifies the request ID.
Specifies number of copies. Specify this option as a digit. The default for number is 1.
Specifies printer dependent options.
This example shows how to submit previously held print requests for the printer lucille.
$ lp -d lucille -H hold /etc/motd |
This example shows how to change the number of copies requested for the request ID lucille-233.
$ lp -i lucille-233 -n 5 |
This example shows how to turn on and release the duplex feature for a specified request ID.
$ lp -i lucille-233 -o Duplex=DuplexNoTumble -H resume |
When you install the Oracle Solaris OS, the IPP listening service is automatically enabled on a print server when you add the first print queue. the listening service is also disabled when the last print queue has been removed. The default configuration in Oracle Solaris 10 releases is fairly permissive. If you have security concerns, you might want to modify the default configuration to make it more restrictive. The set of unauthenticated IPP operations that is supported by the service should be limited to operations that are the least destructive.
Operations include:
print-job
validate-job
create-job
get-jobs
get-printer-attributes
send-document
cancel-job
get-job-attributes
cups-get-default
cups-get-printers
cups-get-classes
cups-move-job
IPP is layered on top of HTTP. As a result, the protocol uses authentication mechanisms that are built into the HTTP and the Apache software. In certain Oracle Solaris releases, the default configuration that is shipped with the operating system does not make use of these authentication mechanisms.
For example, the more common form of printer-uri that is used by client systems is:
ipp://server/printers/queue |
When printing on a system that is running a version Windows, specify the URI by using the following syntax:
http://server:631/printers/queue |
To authenticate, use the accept command as follows:
$ accept ipp://server/admin/queue |
For example, to authenticate the print queue masterly on the server noreaster type:
$ accept ipp://noreaster/admin/masterly |
You are prompted for authentication.
Enter the proper authentication information to enable the operation to be processed for the uri path.
For example:
system% accept ipp://printing/printers/wspe accept: ipp://printing/printers/wspe: operation-not-supported system% accept ipp://printing/admin/wspe passphrase for user-name to access ipp://printing/admin/wspe: accept: ipp://printing/admin/wspe: not-authorized system% |
The following command fails under the default configuration for IPP, because the operation is not enabled for that uri path:
$ accept ipp://server/printers/queue |
To set authorizations for accepting print queues when using IPP, edit the /etc/apache/httpd-standalone-ipp.conf file.
Add the following entries to set up authentication:
AuthType
AuthName
AuthUserFile
For an example, see the /etc/apache/httpd-standalone-ipp.conf file.
Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Update the /etc/apache/httpd-standalone-ipp.conf file by using the htpasswd command:
# /usr/sfw/bin/htpasswd /etc/ipp-users user-name |
Verify the user was added, check the /etc/ipp-users file.
# grep user-name /etc/ipp-users |
Task |
Description |
For Instructions |
---|---|---|
Use the RFC-1179 protocol to cascade print requests. |
Use this procedure to remove the dependency on the print scheduler service, if the print host is used to cascade print requests. |
How to Cascade Print Requests by Using the RFC-1179 Protocol |
Share printers when using the RFC-1179 network protocol. |
Printer sharing when using the RFC-1179 printing protocol is accomplished by enabling and disabling the network listening service. |
Enabling, Disabling, and Restarting Network Printing Services (Task Map) |
The RFC-1179 protocol listener is represented by the FMRI, svc:/application/print/rfc1179 (in.lpd). By default, this FMRI is dependent on the print scheduler service, svc:/application/print/server, and will only run if the host is running the print scheduler service.
Normally, the RFC-1179 listener is not needed when the print scheduler is not running. However, if the host is used to cascade print requests, the dependency on the print scheduler service should be removed.
Become superuser or assume an equivalent role.
Roles contain authorizations and privileged commands. For more information about roles, see Configuring RBAC (Task Map) in System Administration Guide: Security Services.
Remove the dependency on the print scheduler service.
# cat <<EOF | svccfg > select application/print/rfc1179 > delpg lpsched > end > EOF |
After you have removed the dependency, run the following command for the changes to take effect immediately:
# svcadm refresh application/print/rfc1179 |
Often, a system that is running the Oracle Solaris OS provides file and print services to a variety of systems on a network, including Windows systems. In a network of where only Windows systems exist, the SMB protocol is commonly used to share printers. In the Oracle Solaris OS, server-side support for SMB is provided through Samba. and managed through the Service Management Facility (SMF). Client-side printing support is also available through Samba. To access a Windows hosted printer, setup of a local print queue is required. This requirement is due to differences in UNIX and Windows printing models.
The SMB service is controlled by the contents of the /etc/sfw/smb.conf file. An example of this file, /etc/sfw/smb.conf-example, is provided when you install the Oracle Solaris software on your system. To share printers by using the SMB protocol, you must first enable the service.
To start using this service, follow these steps:
Create an /etc/sfw/smb.conf file.
Set the workgroup string within the file to a value that is appropriate for your network.
The WORKGROUP value is typically used for Windows installations. However, the MSHOME value is also sometimes used. Check your Windows client systems to determine the value to use.