8.8. Samba で Kerberos 認証による Windows 印刷サーバーへの印刷

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

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

本セクションでは、このシナリオに CUPS を設定する方法を説明します。

注記

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

前提条件

  • ローカルの CUPS インスタンスに追加するプリンターが、AD 印刷サーバーで共有されている。
  • Red Hat Enterprise Linux ホストを、AD のメンバーとして参加させている。詳細は「Samba のドメインへの参加」を参照してください。
  • CUPS が Red Hat Enterprise Linux にインストールされており、cups サービスが実行している。詳細は「cups サービスのアクティブ化」を参照してください。
  • プリンターの PPD (PostScript Printer Description) ファイルは、/usr/share/cups/model/ ディレクトリーに保存されます。

手順

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

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

    # kinit administrator@AD_KERBEROS_REALM
    # smbclient -L win_print_srv.ad.example.com -k
    
    	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 ドメインユーザーとして Red Hat Enterprise Linux ホストにログインします。
  2. AD ドメインユーザーとして認証します。

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

    # lp -d example_printer file