第 9 章 使用 Samba 打印到使用 Kerberos 验证的 Windows 打印服务器
使用 samba-krb5-printing
包装器,登录到 Red Hat Enterprise Linux (RHEL)的活动目录(AD)用户可以使用 Kerberos 向活动目录(AD)进行身份验证,然后打印到将打印作业转发到 Windows 打印服务器的本地 CUPS 打印服务器。
此配置的好处在于,RHEL 上 CUPS 管理员不需要在配置中存储固定的用户名和密码。CUPS 使用发送打印作业的用户的 Kerberos ticket 验证 AD。
红帽支持只支持从本地系统将打印作业提交到 CUPS,不支持在 Samba 打印服务器上重新共享打印机。
先决条件
- 要添加到本地 CUPS 实例中的打印机在 AD 打印服务器上是共享的。
- 您将 RHEL 主机作为 AD 的成员加入。
-
CUPS 安装在 RHEL 上,并且
cups
服务正在运行。 -
打印机的 PostScript 打印机描述(PPD)文件存储在
/usr/share/cups/model/
目录中。
流程
安装
samba-krb5-printing
、samba-client
和krb5-workstation
软件包:# dnf 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
将 URI 设置为 Windows 打印机。使用以下格式:smb://host_name/printer_share_name
. -
-m PPD_file
设置打印机使用的 PPD 文件。 -
-o auth-info-required=negotiate
配置 CUPS ,以在将打印作业转发到远程服务器时使用 Kerberos 身份验证。 -
-e
启用打印机,CUPS 接受打印机的作业。
-
验证
- 以 AD 域用户身份登录到 RHEL 主机。
以 AD 域用户身份进行身份验证:
# kinit domain_user_name@AD_KERBEROS_REALM
将文件输出到您添加到本地 CUPS 打印服务器的打印机:
# lp -d example_printer file