Administering Printers by Using the Internet Printing Protocol (Task Map)
Table 6-1 Administering Printers by Using IPP: Task Map
How to Obtain Information About Printers When Using IPP
- 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 IPP is in use, 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
Example 6-1 Obtaining Information About Printers When IPP Is in Use
# 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:
How to Move Remote Print Requests Between Print Queues on a Print Server When Using IPP
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.
Example 6-2 Moving Remote Print Requests by Request ID
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
Example 6-3 Moving Remote Print Requests by Destination
This example shows how to move all of the print requests from the
printer luna to the new destination printer lucille.
$ lpmove luna luciille
How to Modify Remote Print Requests When Using IPP
You can use the lp command to perform a variety of tasks when
IPP is in use. For more information about using the lp command, see
the lp(1) man page.
Example 6-4 Submitting Previously Held Print Requests
This example shows how to submit previously held print requests for the printer
lucille.
$ lp -d lucille -H hold /etc/motd
Example 6-5 Changing the Number of Copies Requested
This example shows how to change the number of copies requested for the
request ID lucille-233.
$ lp -i lucille-233 -n 5
Example 6-6 Turning on and Releasing the Duplex Feature
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
Sharing Printers When Using IPP
When you install the 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 some releases of Solaris 9 and Solaris 10 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 Authentication Mechanisms
IPP is layered on top of HTTP. As a result, the protocol
uses the authentication mechanisms that are built into HTTP and the Apache software.
The default configuration that is shipped in the Solaris OS doesn't make use
of these authentication mechanisms in some releases of Solaris 9, Solaris 10, as well
as the Solaris Express release. In the Solaris Express release, client authentication is
required to access some uri-path and operation combinations.
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:
https://server:631/printers/queue
More information about printing in a heterogeneous environment can be found at https://opensolaris.org/os/community/printing/.
Turning On IPP Authentication Mechanisms
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%
Note - The following command will fail under the default configuration for IPP, because the
operation is not enabled for that uri path
$ accept ipp://server/printers/queue
How to Set Authorizations That Enable You to Accept Print Queues When Using IPP?
To set authorizations for accepting print queues when IPP is in use, 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.
In the Solaris Express release, the /printers patch turns on the following operations:
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
How to Add a User to the IPP AuthUser 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