この章では、IPP、RFC-1179、および SMB ネットワークプロトコルの使用時にプリンタをリモート管理する方法について説明します。IPP を使用したプリンタ設定の計画については、第 3 章ネットワーク印刷サービスの設定 (作業)を参照してください。
この章の内容は次のとおりです。
印刷サービスとプリンタの概要については、第 1 章Oracle Solaris オペレーティングシステムでの印刷の概要を参照してください。
作業 |
説明 |
参照先 |
---|---|---|
IPP の使用時に、プリンタの状態を確認し、プリンタに関する情報を取得します。 |
IPP の使用時にプリンタの状態を確認するには、lpset コマンドを使用します。 | |
IPP の使用時に、リモート印刷要求を移動します。 |
IPP の使用時に印刷ジョブを新しい送信先に移動するには、lpmove コマンドを使用します。 | |
IPP の使用時に、リモート印刷要求を変更します。 |
IPP の使用時にリモート印刷要求を変更するには、lp コマンドを使用します。 | |
IPP の使用時に、プリンタを共有します。 |
IPP の使用時にプリンタを共有するには、デフォルトのファイル構成を変更する必要があります。 | |
IPP 認証機構をオンに設定します。 |
一部の Oracle Solaris リリースでは、uri-path と操作の組み合わせによってはクライアント認証が必要です。 | |
IPP の使用時に、印刷待ち行列を受け入れることができるように認証を設定します。 |
uri パスに対して操作が処理されるようにするには、適切な認証情報が必要です。 | |
IPP AuthUser ファイルにユーザーを追加します。 |
IPP AuthUser ファイルにユーザーを追加するには、htpasswd コマンドを使用して httpd-standalone-ipp.conf ファイルを変更する必要があります。 |
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
IPP の使用時にプリンタに関する情報を取得するには、次のように入力します。
# lpset -a printer-uri-supported=ipp://server/printers/server queue |
プリンタのリターン出力を確認するには、次のように入力します。
# 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: |
IPP の使用中に、リモートの印刷ジョブを印刷待ち行列の間で移動するには、lpmove コマンドを使用します。印刷ジョブは、要求 ID または送信先を指定することによって、新しい送信先に移動できます。
IPP の使用時に、ある印刷待ち行列から別の印刷待ち行列へリモート印刷要求を移動するには、次のコマンドを入力します。
$ lpmove request-id old-destination new-destination |
次の例は、要求 ID を使用してリモート印刷要求 luna-185 を新しい送信先プリンタ lucille に移動する方法を示しています。
$ lpmove luna-185 lucille |
次の例は、プリンタ luna のすべての印刷要求を新しい送信先プリンタ lucille に移動する方法を示しています。
$ lpmove luna luciille |
IPP の使用時に、lp コマンドを使用してさまざまな作業を実行できます。lp コマンドの使用については、lp(1) のマニュアルページを参照してください。
リモートの印刷ジョブを変更するには、lp コマンドを適切なコマンドオプションとともに使用します。
$ lp [-d] [-H] [-i] [-n] [-o] |
印刷要求の送信先を指定します。
特殊処理を指定します。特殊処理の値に従って要求を印刷します。
要求 ID を指定します。
部数を指定します。このオプションは数字で指定してください。デフォルト値は 1 です。
プリンタに依存するオプションを指定します。
次の例は、以前に保留された印刷要求をプリンタ lucille に送信する方法を示しています。
$ lp -d lucille -H hold /etc/motd |
次の例は、要求 ID lucille-233 で要求されたコピー枚数を変更する方法を示しています。
$ lp -i lucille-233 -n 5 |
次の例は、指定された要求 ID に対して両面印刷機能を有効化して解除する方法を示しています。
$ lp -i lucille-233 -o Duplex=DuplexNoTumble -H resume |
Oracle Solaris OS をインストールすると、IPP 待機サービスは、最初の印刷待ち行列を追加するときに、印刷サーバーで自動的に有効になります。また、最後の印刷待ち行列が削除されると、待機サービスは無効になります。Oracle Solaris 10 リリースのデフォルト設定は、かなり甘い設定になっています。セキュリティーに問題がある場合は、デフォルトの設定を変更して、より厳しい設定にすることもできます。認証を受けずにサービスでサポートされる IPP 操作は、もっとも破壊度の低い操作に制限されるべきです。
操作には次のようなものがあります。
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 は HTTP の階層の上に置かれています。このため、このプロトコルは、HTTP および Apache ソフトウェアに組み込まれている認証機構を使用します。特定の Oracle Solaris リリースのオペレーティングシステムに付属するデフォルト設定では、これらの認証機構が使用されません。
たとえば、クライアントシステムで一般的に使用される printer-uri の形式は次のとおりです。
ipp://server/printers/queue |
Windows を実行しているシステムで印刷する場合は、次の構文を使用して URI を指定します。
http://server:631/printers/queue |
認証を行うには、次のように 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 の使用時に印刷待ち行列を受け入れることができるように認証を設定するには、/etc/apache/httpd-standalone-ipp.conf ファイルを編集します。
次のエントリを追加して認証を設定します。
AuthType
AuthName
AuthUserFile
例については、/etc/apache/httpd-standalone-ipp.conf ファイルを参照してください。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
htpasswd コマンドを使用して、/etc/apache/httpd-standalone-ipp.conf ファイルを更新します。
# /usr/sfw/bin/htpasswd /etc/ipp-users user-name |
ユーザーが追加されたことを /etc/ipp-users ファイルで確認します。
# grep user-name /etc/ipp-users |
作業 |
説明 |
参照先 |
---|---|---|
RFC-1179 プロトコルを使用して、印刷要求をカスケードします。 |
この手順は、印刷ホストを使用して印刷要求をカスケードする場合に、印刷スケジューラサービスへの依存関係を解消するために使用します。 | |
RFC-1179 ネットワークプロトコルの使用時にプリンタを共有します。 |
RFC-1179 印刷プロトコルの使用時にプリンタを共有するには、ネットワーク待機サービスの有効化と無効化を行います。 |
RFC-1179 プロトコルリスナーは、FMRI svc:/application/print/rfc1179 (in.lpd) で表されます。デフォルトでは、この FMRI は印刷スケジューラサービス svc:/application/print/server に依存しており、ホストが印刷スケジューラサービスを実行している場合にのみ実行されます。
通常、RFC-1179 リスナーは、印刷スケジューラが実行されていなければ必要ありません。ただし、ホストを使用して印刷要求をカスケードする場合は、印刷スケジューラサービスへの依存関係を解消しなければなりません。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
スケジューラサービスへの依存関係を解消します。
# cat <<EOF | svccfg > select application/print/rfc1179 > delpg lpsched > end > EOF |
依存関係を解消したら、次のコマンドを実行し、変更を即座に有効にします。
# svcadm refresh application/print/rfc1179 |
Oracle Solaris OS を実行しているサービスが、ネットワーク上にある Windows システムも含むさまざまなシステムに、ファイルサービスと印刷サービスを提供することがよくあります。Windows システムだけが存在しているネットワークでは、通常は SMB プロトコルを使用してプリンタを共有します。Oracle Solaris OS では、SMB のサーバー側サポートが Samba を介して提供され、サービス管理機能 (SMF) によって管理されます。クライアント側の印刷サポートも Samba を介して使用可能になります。Windows でホストされているプリンタにアクセスするには、ローカル印刷待ち行列を設定する必要があります。これが必要になるのは、UNIX と Windows では印刷モデルが異なるためです。
SMB サービスは /etc/sfw/smb.conf ファイルの内容によって制御されます。Oracle Solaris をシステムにインストールすると、このファイルのサンプル /etc/sfw/smb.conf-example が提供されます。SMB プロトコルを使用してプリンタを共有するには、まずサービスを有効にする必要があります。
このサービスの使用を開始するには、次の手順に従います。
/etc/sfw/smb.conf ファイルを作成します。
ファイル内の workgroup という文字列を、使用しているネットワークに適した値に設定します。
Windows のインストールでは、通常は WORKGROUP という値が使用されます。ただし、MSHOME という値が使用されることもあります。Windows クライアントシステムを調べて、使用する値を確認してください。