第9章 Samba を使用した Kerberos 認証による Windows プリントサーバーへの印刷

samba-krb5-printing ラッパーを使用すると、Red Hat Enterprise Linux (RHEL) にログインした Active Directory (AD) ユーザーは、Kerberos を使用して Active Directory (AD) に対して認証して、Windows プリントサーバーに印刷ジョブを転送するローカルの CUPS プリントサーバーに印刷を出力できます。

この設定の利点は、RHEL 上の CUPS の管理者が、設定で固定ユーザー名およびパスワードを保存する必要がないことです。CUPS は、印刷ジョブを送信するユーザーの Kerberos チケットで AD に対して認証します。

注記

Red Hat は、ローカルシステムから CUPS への印刷ジョブの送信のみをサポートしています。Samba プリントサーバー上のプリンターの再共有はサポートしていません。

前提条件

  • ローカルの CUPS インスタンスに追加するプリンターが、AD プリントサーバーで共有されている。
  • AD のメンバーとして RHEL ホストに参加している。
  • CUPS が RHEL にインストールされており、cups サービスが実行されている。
  • プリンターの PostScript Printer description (PPD) ファイルが /usr/share/cups/model/ ディレクトリーに保存されている。

手順

  1. samba-krb5-printingsamba-client、および krb5-workstation パッケージをインストールします。

    # dnf install samba-krb5-printing samba-client krb5-workstation
  2. 必要に応じて、ドメイン管理者として認証を行い、Windows プリントサーバーで共有されるプリンターの一覧を表示します。

    # smbclient -L win_print_srv.ad.example.com -U administrator@AD_KERBEROS_REALM --use-kerberos=required
    
    	Sharename       Type      Comment
    	---------       ----      -------
    	...
    	Example         Printer   Example
    	...
  3. 必要に応じて、CUPS モデルのリストを表示して、プリンターの PPD 名を指定します。

    lpinfo -m
    ...
    samsung.ppd Samsung M267x 287x Series PXL
    ...

    次のステップでプリンターを追加する場合は、PPD ファイルの名前が必要です。

  4. CUPS にプリンターを追加します。

    # lpadmin -p "example_printer" -v smb://win_print_srv.ad.example.com/Example -m samsung.ppd -o auth-info-required=negotiate -E

    このコマンドでは次のオプションを使用します。

    • -p printer_name は、CUPS にプリンターの名前を設定します。
    • -v URI_to_Windows_printer は、Windows プリンターに URI を設定します。smb://host_name/printer_share_name という形式を使用します。
    • -m PPD_file は、プリンターが使用する PPD ファイルを設定します。
    • -o auth-info-required=negotiate は、印刷ジョブをリモートサーバーに転送する際に CUPS が Kerberos 認証を使用するように設定します。
    • -E はプリンターを有効にします。CUPS はそのプリンターのジョブを受け付けます。

検証

  1. AD ドメインユーザーとして RHEL ホストにログインします。
  2. AD ドメインユーザーとして認証します。

    # kinit domain_user_name@AD_KERBEROS_REALM
  3. ローカルの CUPS プリントサーバーに追加したプリンターにファイルを出力します。

    # lp -d example_printer file