Red Hat Training
A Red Hat training course is available for RHEL 8
15.10. 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 のメンバーとして参加させている。
-
CUPS が Red Hat Enterprise Linux にインストールされており、
cups
サービスが実行している。詳細は、CUPS サービスのアクティブ化 を参照してください。 -
プリンターの PPD (PostScript Printer Description) ファイルは、
/usr/share/cups/model/
ディレクトリーに保存されます。
手順
samba-krb5-printing
パッケージ、samba-client
パッケージ、およびkrb5-workstation
パッケージをインストールします。# yum install samba-krb5-printing samba-client krb5-workstation
必要に応じて、ドメイン管理者として認証を行い、Windows 印刷サーバーで共有されるプリンターの一覧を表示します。
# smbclient -L win_print_srv.ad.example.com -U administrator@AD_KERBEROS_REALM --use-kerberos=required Sharename Type Comment --------- ---- ------- ... Example Printer Example ...
必要に応じて、CUPS モデルの一覧を表示して、プリンターの PPD 名を指定します。
lpinfo -m ... samsung.ppd Samsung M267x 287x Series PXL ...
次の手順でプリンターを追加する場合は、PPD ファイルの名前が必要です。
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 はプリンターのジョブを受け付けます。
-
検証手順
- AD ドメインユーザーとして Red Hat Enterprise Linux ホストにログインします。
AD ドメインユーザーとして認証します。
# kinit domain_user_name@AD_KERBEROS_REALM
ローカルの CUPS 印刷サーバーに追加したプリンターにファイルを出力します。
# lp -d example_printer file