系统管理指南:打印

使用 Internet 打印协议时管理网络上的打印机(任务图)

表 9–1 使用 IPP 管理打印机:任务图

任务 

说明 

参考 

在使用 IPP 时检查打印机状态并获取有关打印机的信息。 

在使用 IPP 时,可以通过 lpset 命令检查打印机状态。

如何在使用 IPP 时获取有关打印机的信息

在使用 IPP 时移动远程打印请求。 

在使用 IPP 时,可以通过 lpmove 命令将打印作业移动到新目标。

如何在使用 IPP 时在打印队列之间移动远程打印请求

在使用 IPP 时修改远程打印请求。 

在使用 IPP 时,可以通过 lp 命令修改远程打印请求。

如何在使用 IPP 时修改远程打印请求

在使用 IPP 时共享打印机。 

要在使用 IPP 时共享打印机,需要修改缺省文件配置。 

在使用 IPP 时共享打印机

启用 IPP 验证机制。 

在一些 Oracle Solaris 发行版中,客户机验证是访问某些 uri-path 和操作组合所必需的。

启用 IPP 验证机制

设置使您能够在使用 IPP 时接受打印队列的授权。 

要针对 uri 路径处理操作,正确的验证信息是必需的。

设置使您能够在使用 IPP 时接受打印队列的授权。

将用户添加到 IPP AuthUser 文件。

如果将用户添加到 IPP AuthUser 文件,则需要使用 htpasswd 命令修改 httpd-standalone-ipp.conf 文件。

如何将用户添加到 IPP AuthUser 文件

Procedure如何在使用 IPP 时获取有关打印机的信息

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 要在使用 IPP 时获取有关打印机的信息,可以键入:


    # lpset -a printer-uri-supported=ipp://server/printers/server queue
    
  3. 要查看打印机的返回输出,可以键入:


    # lpstat -p test -l
    

示例 9–1 在使用 IPP 时获取有关打印机的信息


# 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:

Procedure如何在使用 IPP 时在打印队列之间移动远程打印请求

在使用 IPP 时,可以通过 lpmove 命令在打印队列之间远程移动打印作业。可以按请求 ID 或按目标将打印作业移动到新目标。

  1. 使用 IPP 时,如果需要将远程打印请求从一个打印队列移动到另一个打印队列,可以键入以下命令:


    $ lpmove request-id old-destination new-destination
    

示例 9–2 通过请求 ID 移动远程打印请求

此示例显示如何使用请求 ID 将远程打印请求从 luna-185 移动到新的目标打印机 lucille


$ lpmove luna-185 lucille


示例 9–3 通过目标移动远程打印请求

此示例显示如何将来自打印机 luna 的所有打印请求移动到新的目标打印机 lucille


$ lpmove luna luciille

Procedure如何在使用 IPP 时修改远程打印请求

在使用 IPP 时,可以通过 lp 命令执行各种任务。有关使用 lp 命令的更多信息,请参见 lp(1) 手册页。

  1. 使用 lp 命令以及相应的命令选项修改远程打印作业。


    $ lp [-d] [-H] [-i] [-n] [-o]
    
    -d

    指定打印请求的目标。

    -H

    指定特殊处理。按照特殊处理的值来打印请求。

    -i

    指定请求 ID。

    -n

    指定副本数目。将此选项指定为数字。缺省数目是 1。

    -o

    指定打印机相关选项。


示例 9–4 提交以前保留的打印请求

此示例显示如何提交打印机 lucille 以前保留的打印请求。


$ lp -d lucille -H hold /etc/motd


示例 9–5 更改请求的副本数目

此示例显示如何更改请求 ID lucille-233 的请求副本数目。


$ lp -i lucille-233 -n 5


示例 9–6 启用并释放双工功能

此示例显示如何启用并释放指定请求 ID 的双工功能。


$ lp -i lucille-233 -o Duplex=DuplexNoTumble -H resume

在使用 IPP 时共享打印机

如果安装了 Oracle Solaris OS,在添加第一个打印队列后,将在打印服务器上自动启用 IPP 侦听服务。在删除最后一个打印队列后,还将禁用 IPP 侦听服务。Oracle Solaris 10 发行版中的缺省配置是公平允许。如果您遇到安全问题,可能需要修改缺省配置,使其具有更多限制。应该将服务支持的一组未经验证的 IPP 操作限制为破坏性最小的操作。

这些操作包括:

IPP 验证机制

IPP 位于 HTTP 的上面一层。因此,该协议使用内置到 HTTP 和 Apache 软件中的验证机制。在某些 Oracle Solaris 发行版中,操作系统随附的缺省配置没有使用这些验证机制。

例如,客户机系统使用的较常见 printer-uri 形式是:


ipp://server/printers/queue

如果在运行某版本 Windows 的系统上打印,请使用以下语法指定 URI:


http://server:631/printers/queue

启用 IPP 验证机制

要进行验证,可以使用 accept 命令,方法如下:


$ accept ipp://server/admin/queue

例如,要验证服务器 noreaster 上的打印队列 masterly,可以键入:


$ accept ipp://noreaster/admin/masterly

系统将提示您进行验证。

输入正确的验证信息,以便可以针对 uri 路径处理操作。

例如:


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%

注 –

使用 IPP 的缺省配置时,以下命令会失败,因为没有针对该 uri 路径启用此操作:


$ accept ipp://server/printers/queue

设置使您能够在使用 IPP 时接受打印队列的授权。

要设置用于在使用 IPP 时可接受打印队列的授权,请编辑 /etc/apache/httpd-standalone-ipp.conf 文件。

添加以下项以设置验证:

要查看示例,请参见 /etc/apache/httpd-standalone-ipp.conf 文件。

Procedure 如何将用户添加到 IPP AuthUser 文件

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 使用 htpasswd 命令更新 /etc/apache/httpd-standalone-ipp.conf 文件:


    # /usr/sfw/bin/htpasswd /etc/ipp-users user-name
    
  3. 验证是否添加了用户,检查 /etc/ipp-users 文件。


    # grep user-name /etc/ipp-users