Solaris のシステム管理 (印刷)

印刷コマンドを使用するための特権の要件

Oracle Solaris リリースに実装されている Open Standard Print API (PAPI) の設計では、より高いレベルの特権でアプリケーション、ツールキット、および印刷コマンドを実行しなくても、印刷サービスと対話できるようになりました。

その結果、次の印刷コマンドは SUID ルートにインストールされなくなりました。

これらのコマンドは、以前は SUID ルートにインストールされていました。それは、次のような目的のために、より高いレベルの特権を必要としていたためです。

現在は、この機能は小さなヘルパーアプリケーション /usr/lib/print/lpd-port に集約されています。その結果、RFC-1179 PAPI サポートを使用するどのアプリケーションでも、より高いレベルの特権は不要になりました。lpd-port ヘルパーアプリケーションには、RFC-1179 プロトコルの要求を予約ポートに渡すため、および連続するジョブ ID 番号を割り当てるための、最小限のサポートが含まれています。ヘルパーアプリケーションは SUID ルートにインストールされますが、必要になるまで特権は引き上げられません。特権は、必要な操作に応じて必要なときに引き上げられ、より高いレベルの特権が不要になると永続的に削除されます。Oracle Solaris リリースでは、この処理は特権を使用することによって実現されます。ほかのプラットフォームでは、この処理は setuidseteuid、または setreuid 関数を使用することによって実現されます。

ネットワーク上で共有したくないローカルプリンタがある場合は、印刷ネットワークリスナーを安全に無効にすることができます。Oracle Solaris リリースを実行しているか、または CUPS サーバーを使用している場合、IPP を使用してこれらのサーバーと通信すると、lpstat コマンドにより、各サーバーの機能に加えてリモートの印刷待ち行列および印刷ジョブに関する追加情報を取得できます。

IPP が使用されている場合は、適切として承認されれば、リモート印刷待ち行列および印刷ジョブに対して次の操作を実行できます。

また、IPP が使用されている場合は、印刷要求を印刷サーバー上の印刷待ち行列の間で移動したり、リモートで変更したりすることができます。

詳細は、privileges(5) のマニュアルページを参照してください。詳細な手順については、「インターネット印刷プロトコル使用時のネットワーク上のプリンタの管理 (作業マップ)」を参照してください。