<?Pub UDT _bookmark _target?><?Pub UDT __target_1 _target?><?Pub UDT registeredtm trademark?><?Pub CX solbook(?><chapter id="proto-1"><?Pub Tag atict:info tracking="off" ref="1"?><?Pub Tag atict:user
user="jonj" fullname="Juanita Heieck"?><?Pub Tag atict:user user="jh118764"
fullname="Juanita Heieck"?><?Pub Tag atict:user user="wsm" fullname=""?><title>Administering
Printers That Use
Network Printing Protocols (Tasks)</title><highlights><para>This chapter explains how to administer printers and perform basic printing tasks when
using the IPP, RFC-1179, and SMB protocols. For information about setting
up printing services, including IPP server and client configuration, see <olink targetptr="printsetup-33230" remap="internal">Chapter&nbsp;3, Setting Up Printing Services
(Tasks)</olink>.</para><itemizedlist><para>The following is a list of information that is in this chapter:</para><listitem><para><olink targetptr="gedvp" remap="internal">Administering Printers by Using the
Internet Printing Protocol (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="gfjoy" remap="internal">Administering Printers by Using the
RFC-1179 Printing Protocol (Task Map)</olink></para>
</listitem><listitem><para><olink targetptr="share-smb-1" remap="internal">Administering Printers by Using
the SMB Protocol</olink></para>
</listitem>
</itemizedlist><para>For IPP background information, see <olink targetptr="fddwm" remap="internal">Appendix&nbsp;A,
Using the Internet Printing Protocol</olink>.</para><para>For overview information about printing services and printers, see <olink targetptr="printintro-1" remap="internal">Chapter&nbsp;1, Introduction to Printing in the Solaris
Operating System</olink>.</para><para>For information about how to set up printing services see <olink targetptr="printsetup-33230" remap="internal">Chapter&nbsp;3, Setting Up Printing Services
(Tasks)</olink>.</para><para>For information about setting up printers, see <olink targetptr="printers-33230" remap="internal">Chapter&nbsp;4, Setting Up Printers (Tasks)</olink></para><para>For information about administering printers and printing services by
using Solaris Print Manager or LP print commands, see <olink targetptr="printadmin-15883" remap="internal">Chapter&nbsp;5, Administering Printers by Using
Solaris Print Manager and LP Print Commands (Tasks)</olink>.</para>
</highlights><sect1 id="gedvp"><title>Administering Printers by Using the Internet Printing
Protocol (Task Map)</title><indexterm><primary>Administering IPP</primary>
</indexterm><indexterm><primary>printer administration with IPP</primary>
</indexterm><table frame="all" id="gfjor"><title>Administering Printers by Using IPP:
Task Map</title><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="28.78*"/><colspec colwidth="36.97*"/><colspec colwidth="33.25*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Check printer status and obtain information about a printer when using
IPP.</para>
</entry><entry><para>The <command>lpset</command> command is used to check printer status
when IPP is in use.</para>
</entry><entry><para><olink targetptr="ippuse-2" remap="internal">How to Obtain Information About Printers
When Using IPP</olink></para>
</entry>
</row><row><entry><para>Move a remote print request when using IPP.</para>
</entry><entry><para>The <command>lpmove</command> command is used to move print jobs to
a new destination when IPP is in use.</para>
</entry><entry><para><olink targetptr="gedux" remap="internal">How to Move Remote Print Requests Between Print
Queues on a Print Server When Using IPP</olink></para>
</entry>
</row><row><entry><para>Modify a remote print request when using IPP.</para>
</entry><entry><para>The <command>lp</command> command is used to modify remote print requests
when IPP is in use.</para>
</entry><entry><para><olink targetptr="gedux" remap="internal">How to Move Remote Print Requests Between Print
Queues on a Print Server When Using IPP</olink></para>
</entry>
</row><row><entry><para>Share printers when using IPP.</para>
</entry><entry><para>To share printers when IPP is in use, you need to modify the default
file configuration.</para>
</entry><entry><para><olink targetptr="gedvq" remap="internal">Sharing Printers When Using IPP</olink></para>
</entry>
</row><row><entry><para>Turn on IPP authentication mechanisms.</para>
</entry><entry><para>In the Solaris Express release, client authentication is required to
access some <filename>uri-path</filename> and operation combinations.</para>
</entry><entry><para><olink targetptr="auth-3" remap="internal">Turning On IPP Authentication Mechanisms</olink></para>
</entry>
</row><row><entry><para>Set authorizations that enable you to accept print queues when using
IPP.</para>
</entry><entry><para>The proper authentication information is required to enable an operation
to be processed for the <filename>uri</filename> path.</para>
</entry><entry><para><olink targetptr="auth-2" remap="internal">How to Set Authorizations That Enable You
to Accept Print Queues When Using IPP?</olink></para>
</entry>
</row><row><entry><para>Add a user to the IPP <filename>AuthUser</filename> file.</para>
</entry><entry><para>Adding a user to the IPP <filename>AuthUser</filename> file requires
modification of the <filename>httpd-standalone-ipp.conf</filename> file by
using the <command>htpasswd</command> command:</para>
</entry><entry><para><olink targetptr="gflkq" remap="internal"> How to Add a User to the IPP AuthUser File</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</table><task id="ippuse-2"><title>How to Obtain Information About Printers When Using
IPP</title><indexterm><primary>Obtaining information about printers</primary><secondary>using IPP</secondary>
</indexterm><procedure><step><para>Become superuser or assume an equivalent role.</para><para>Roles
contain authorizations and privileged commands. For more information about
roles, see <olink targetdoc="sysadv6" targetptr="rbactask-15" remap="external"><citetitle remap="section">Configuring RBAC (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para>
</step><step><para>To obtain information about a printer when IPP is in use, you would type:</para><screen># <userinput>lpset -a printer-uri-supported=ipp://server/printers/<replaceable>server</replaceable> <replaceable>queue</replaceable></userinput></screen>
</step><step><para>To see the
return output for the printer, you would type:</para><screen># <userinput>lpstat -p <replaceable>test</replaceable> -l</userinput></screen>
</step>
</procedure><example id="ipp-ex-1"><title>Obtaining Information About Printers When IPP Is in Use</title><screen># <userinput>lpset -a printer-uri-supported=ipp://server/printers/test test</userinput>
# <userinput>lpstat -p test -l</userinput>
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:</screen>
</example>
</task><task id="gedux"><title>How to Move Remote Print Requests Between Print Queues
on a Print Server When Using IPP</title><indexterm><primary>remotely moving print jobs</primary><secondary>using IPP</secondary>
</indexterm><indexterm><primary>IPP, using</primary><secondary>moving remote print jobs</secondary>
</indexterm><tasksummary><para>You can remotely move print jobs between print queues when IPP is in
use by using the <command>lpmove</command> command. Print jobs can be moved
to the new destination by request ID or by the destination.</para>
</tasksummary><procedure remap="single-step"><step><para>To move a remote print request from one print queue to another print queue when using IPP, type the following
command:</para><screen>$ <userinput>lpmove <replaceable>request-id</replaceable> <replaceable>old-destination</replaceable> <replaceable>new-destination</replaceable></userinput></screen>
</step>
</procedure><example id="gedvk"><title>Moving Remote Print Requests by Request ID</title><para>This example shows
how to move a remote print request <literal>luna-185</literal> to the new
destination printer <literal>lucille</literal> by using the request ID.</para><screen>$ <userinput>lpmove luna-185 lucille</userinput></screen>
</example><example id="geduq"><title>Moving Remote Print Requests by Destination</title><para>This example shows
how to move all of the print requests from the printer <literal>luna</literal> to
the new destination printer <literal>lucille</literal>.</para><screen>$ <userinput>lpmove luna luciille</userinput></screen>
</example>
</task><task id="geduv"><title>How to Modify Remote Print Requests When Using IPP</title><indexterm><primary>modifying print jobs</primary><secondary>using IPP</secondary>
</indexterm><indexterm><primary>IPP</primary><secondary>modifying print jobs</secondary>
</indexterm><tasksummary><para>You can use the <command>lp</command> command to perform a variety of
tasks when IPP is in use. For more information about using the <command>lp</command> command,
see the <olink targetdoc="group-refman" targetptr="lp-1" remap="external"><citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry></olink> man
page.</para>
</tasksummary><procedure remap="single-step"><step><para>Use the <command>lp</command> command with the appropriate command
options to modify remote print jobs.</para><screen width="100">$ <userinput>lp [-d] [-H] [-i] [-n] [-o]</userinput></screen><variablelist><varlistentry><term><option>d</option></term><listitem><para>Specifies the destination for the print request.</para>
</listitem>
</varlistentry><varlistentry><term><option>H</option></term><listitem><para>Specifies special-handling. Prints the request according to
the value of the special-handling.</para>
</listitem>
</varlistentry><varlistentry><term><option>i</option></term><listitem><para>Specifies the request ID.</para>
</listitem>
</varlistentry><varlistentry><term><option>n</option></term><listitem><para>Specifies number of copies. Specify this option as a digit.
The default for number is 1.</para>
</listitem>
</varlistentry><varlistentry><term><option>o</option></term><listitem><para>Specifies printer dependent options.</para>
</listitem>
</varlistentry>
</variablelist>
</step>
</procedure><example id="heldjob-5"><title>Submitting Previously Held Print Requests</title><para>This example shows
how to submit previously held print requests for the printer <literal>lucille</literal>.</para><screen>$ <userinput>lp -d lucille -H hold /etc/motd</userinput></screen>
</example><example id="gedur"><title>Changing the Number of Copies Requested</title><para>This example shows
how to change the number of copies requested for the request ID <literal>lucille-233</literal>.</para><screen>$ <userinput>lp -i lucille-233 -n 5</userinput></screen>
</example><example id="gedvi"><title>Turning on and Releasing the Duplex Feature</title><para>This example shows
how to turn on and release the duplex feature for a specified request ID.</para><screen>$ <userinput>lp -i lucille-233 -o Duplex=DuplexNoTumble -H resume</userinput></screen>
</example>
</task><sect2 id="gedvq"><title>Sharing Printers When Using IPP</title><indexterm><primary>sharing printers, when using IPP</primary>
</indexterm><indexterm><primary>IPP</primary><secondary>sharing printers</secondary>
</indexterm><para>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.</para><itemizedlist><para>Operations include:</para><listitem><para><literal>print-job</literal></para>
</listitem><listitem><para><literal>validate-job</literal></para>
</listitem><listitem><para><literal>create-job</literal></para>
</listitem><listitem><para><literal>get-jobs</literal></para>
</listitem><listitem><para><literal>get-printer-attributes</literal></para>
</listitem><listitem><para><literal>send-document</literal></para>
</listitem><listitem><para><literal>cancel-job</literal></para>
</listitem><listitem><para><literal>get-job-attributes</literal></para>
</listitem><listitem><para><literal>cups-get-default</literal></para>
</listitem><listitem><para><literal>cups-get-printers</literal></para>
</listitem><listitem><para><literal>cups-get-classes</literal></para>
</listitem><listitem><para><literal>cups-move-job</literal></para>
</listitem>
</itemizedlist>
</sect2><sect2 id="geduw"><title>IPP Authentication Mechanisms</title><indexterm><primary>authentication</primary><secondary>IPP</secondary>
</indexterm><indexterm><primary>IPP authentication mechanisms</primary>
</indexterm><para>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 <filename>uri-path</filename> and
operation combinations.</para><para>For example, the more common form of <replaceable>printer-uri</replaceable> that
is used by client systems is:</para><screen>ipp://<replaceable>server</replaceable>/printers/<replaceable>queue</replaceable></screen><para>When printing on a system that is running a version Windows, specify
the URI by using the following syntax:</para><screen>http://<replaceable>server</replaceable>:631/printers/<replaceable>queue</replaceable></screen><para>More information about printing in a heterogeneous environment can be
found at <ulink url="http://opensolaris.org/os/community/printing/" type="url"></ulink>.</para>
</sect2><sect2 id="auth-3"><title>Turning On IPP Authentication Mechanisms</title><para>To authenticate, use the <command>accept</command> command as follows:</para><screen>$ <userinput>accept ipp://<replaceable>server</replaceable>/admin/<replaceable>queue</replaceable></userinput></screen><para>For example, to
authenticate the print queue <literal>masterly</literal> on the server <literal>noreaster</literal> type:</para><screen>$ <userinput>accept ipp://noreaster/admin/masterly</userinput></screen><para>You are prompted for authentication.</para><para>Enter the proper authentication information to enable the operation
to be processed for the <filename>uri</filename> path.</para><para>For example:</para><screen>system% <userinput>accept ipp://printing/printers/wspe</userinput>
accept: ipp://printing/printers/wspe: operation-not-supported
system% <userinput>accept ipp://printing/admin/wspe</userinput>
passphrase for user-name to access ipp://printing/admin/wspe:
accept: ipp://printing/admin/wspe: not-authorized
system%</screen><note><para>The following command will fail under the default configuration for IPP, because
the operation is not enabled for that <filename>uri</filename> path</para><screen>$ <userinput>accept ipp://<replaceable>server</replaceable>/printers/<replaceable>queue</replaceable></userinput></screen>
</note>
</sect2><sect2 id="auth-2"><title>How to Set Authorizations That Enable You to Accept
Print Queues When Using IPP?</title><para>To set authorizations for accepting print queues when IPP is in use,
edit the <filename>/etc/apache/httpd-standalone-ipp.conf</filename> file.</para><para>Add the following entries to set up authentication:</para><itemizedlist><listitem><para><literal>AuthType</literal></para>
</listitem><listitem><para><literal>AuthName</literal></para>
</listitem><listitem><para><literal>AuthUserFile</literal></para>
</listitem>
</itemizedlist><para>For an example, see the <filename>/etc/apache/httpd-standalone-ipp.conf</filename> file.</para><para>In the Solaris Express release, the <filename>/printers</filename> patch
turns on the following operations:</para><itemizedlist><listitem><para><literal>print-job</literal></para>
</listitem><listitem><para><literal>validate-job</literal></para>
</listitem><listitem><para><literal>create-job</literal></para>
</listitem><listitem><para><literal>get-jobs</literal></para>
</listitem><listitem><para><literal>get-printer-attributes</literal></para>
</listitem><listitem><para><literal>send-document</literal></para>
</listitem><listitem><para><literal>cancel-job</literal></para>
</listitem><listitem><para><literal>get-job-attributes</literal></para>
</listitem><listitem><para><literal>cups-get-default</literal></para>
</listitem><listitem><para><literal>cups-get-printers</literal></para>
</listitem><listitem><para><literal>cups-get-classe</literal>s</para>
</listitem><listitem><para><literal>cups-move-job</literal></para>
</listitem>
</itemizedlist>
</sect2><task id="gflkq"><title> How to Add a User to the IPP <filename>AuthUser</filename> File</title><procedure><step><para>Become superuser or assume an equivalent role.</para><para>Roles
contain authorizations and privileged commands. For more information about
roles, see <olink targetdoc="sysadv6" targetptr="rbactask-15" remap="external"><citetitle remap="section">Configuring RBAC (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para>
</step><step><para>Update the <filename>/etc/apache/httpd-standalone-ipp.conf</filename> file
by using the <command>htpasswd</command> command:</para><screen># <userinput>/usr/sfw/bin/htpasswd /etc/ipp-users <replaceable>user-name</replaceable></userinput></screen>
</step><step><para>Verify the user was added, check the <filename>/etc/ipp-users</filename> file.</para><screen># <userinput>grep <replaceable>user-name</replaceable> /etc/ipp-users</userinput></screen>
</step>
</procedure>
</task>
</sect1><sect1 id="gfjoy"><title>Administering Printers by Using the RFC-1179 Printing
Protocol (Task Map)</title><table frame="all" id="bsd-1"><title>Administering Printers by Using the RFC&ndash;1179
Printing Protocol: Task Map</title><tgroup cols="3" colsep="1" rowsep="1"><colspec colwidth="33*"/><colspec colwidth="33*"/><colspec colwidth="33*"/><thead><row><entry><para>Task</para>
</entry><entry><para>Description</para>
</entry><entry><para>For Instructions</para>
</entry>
</row>
</thead><tbody><row><entry><para>Use the RFC-1179 protocol to cascade print requests.</para>
</entry><entry><para>Use this procedure to remove the dependency on the printer scheduler
service, if the print host is used to cascade print requests.</para>
</entry><entry><para><olink targetptr="gebpx" remap="internal">How to Use the RFC-1179 Protocol Listener to
Cascade Print Requests</olink></para>
</entry>
</row><row><entry><para>Share printers when the RFC-1179 printing protocol is in use.</para>
</entry><entry><para>Printer sharing when the RFC-1179 printing protocol is in use, is accomplished
by enabling and disabling the network listening service.</para>
</entry><entry><para><olink targetptr="gfjfe" remap="internal">Enabling and Disabling Printing Services (Task
Map)</olink></para>
</entry>
</row>
</tbody>
</tgroup>
</table><task id="gebpx"><title>How to Use the RFC-1179 Protocol Listener to Cascade
Print Requests</title><tasksummary><para>The RFC-1179 protocol listener is represented by the FMRI, <command>svc:/application/print/rfc1179</command> (<filename>in.lpd</filename>). By default, this FMRI is dependent
on the print scheduler service, <command>svc:/application/print/server</command>,
and will only run if the host is running the print scheduler service.</para><para>Normally, the RFC-1179 protocol 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.</para>
</tasksummary><procedure><step><para>Become superuser or assume an equivalent role.</para><para>Roles
contain authorizations and privileged commands. For more information about
roles, see <olink targetdoc="sysadv6" targetptr="rbactask-15" remap="external"><citetitle remap="section">Configuring RBAC (Task Map)</citetitle> in <citetitle remap="book">System Administration Guide: Security Services</citetitle></olink>.</para>
</step><step><para>Remove the dependency on the print scheduler service.</para><screen># <userinput>cat &lt;&lt;EOF | svccfg
&gt;			select application/print/rfc1179
&gt;			delpg lpsched
&gt;			end
&gt;			EOF</userinput></screen>
</step><step><para>After you have removed the dependency, run the following command
for the changes to take effect immediately:</para><screen># <userinput>svcadm refresh application/print/rfc1179</userinput></screen>
</step>
</procedure>
</task>
</sect1><sect1 id="share-smb-1"><title>Administering Printers by Using the SMB Protocol</title><indexterm><primary>administering printers by using SMB</primary>
</indexterm><indexterm><primary>SMB</primary><secondary>sharing printers</secondary>
</indexterm><para>Often, a system that is running the 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 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.</para><para>The SMB service is controlled by the contents of the <filename>/etc/sfw/smb.conf</filename> file. An example of this file, <filename>/etc/sfw/smb.conf-example</filename>,
is provided when you install the Solaris software on your system.  To share
printers by using the SMB protocol, you must first enable the service.</para><itemizedlist><para>To start using this service, follow these steps:</para><listitem><para>Create an <filename>/etc/sfw/smb.conf</filename> file.</para>
</listitem><listitem><para>Set the <literal>workgroup</literal> string within the file
to a value that is appropriate for your network.</para><para>The <literal>WORKGROUP</literal> value is typically used for Windows installations. However, the <literal>MSHOME</literal> value is also sometimes used. Check your Windows client systems
to determine the value to use.</para>
</listitem>
</itemizedlist><para>For more information about sharing printers
between the Solaris OS and the Windows, Linux, and Mac OS X operating environments,
see the OpenSolaris printing FAQ at <ulink url="http://opensolaris.org/os/community/printing/faq/" type="url"></ulink>.</para>
</sect1>
</chapter><?Pub *0000028820 0?>