配置和使用 CUPS 打印服务器
大约 28 分钟
配置和使用 CUPS 打印服务器
来源:官方文档 原始多页入口:配置和使用 CUPS 打印服务器 内容规模:约 20,325 字符,24 个章节标题,92 个命令/代码块,14 条提示框
阅读提要
- 副标题:将您的系统配置为 CUPS 服务器,并管理打印机、打印队列和您的打印环境
- 摘要:您可以使用 CUPS 从本地主机打印。您还可以使用此主机在网络中共享打印机,并充当打印服务器。
- 主要章节:将您的系统配置为 CUPS 服务器,并管理打印机、打印队列和您的打印环境;对红帽文档提供反馈;第 1 章 安装和配置 CUPS;第 2 章 在 CUPS 服务器上配置 TLS 加密;第 3 章 在 web 界面中授予管理权限,以管理 CUPS 服务器;第 4 章 带有打印机驱动程序的软件包;第 5 章 确定打印机是否支持无驱动程序打印;第 6 章 无驱动程序 USB 打印;第 7 章 设置传统打印机;第 8 章 使用 Web 界面向 CUPS 添加打印机;第 9 章 使用 lpadmin 工具将打印机添加 CUPS;第 10 章 使用 Web 界面在 CUPS 打印机上执行维护和管理任务
- 推荐阅读顺序:先看“阅读提要”和目录,再按章节查看“关键点/命令/注意”;需要原文细节时点击来源链接。
章节笔记
概览
- 该章节主要为下一级主题的入口。
将您的系统配置为 CUPS 服务器,并管理打印机、打印队列和您的打印环境
- 要点:摘要
- 要点:您可以使用 CUPS 从本地主机打印。您还可以使用此主机在网络中共享打印机,并充当打印服务器。
对红帽文档提供反馈
- 要点:我们致力于为您提供高质量的文档,您的反馈将对我们有很大帮助。为帮助我们改进,您可以通过 Red Hat Jira 跟踪系统提交建议或报告错误。
- 要点:流程
- 列表:登录到 Jira 网站。 如果您还没有帐户,请创建一个。
- 列表:单击顶部导航栏中的 Create。
- 列表:在 Summary 字段中输入描述性标题。
- 列表:在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 列表:点窗口底部的 Create。
第 1 章 安装和配置 CUPS
- 要点:您可以使用 CUPS 从本地主机打印。您还可以使用此主机在网络中共享打印机,并充当打印服务器。
- 要点:流程
- 列表:安装 cups 软件包: # dnf install cups
- 列表:如果您将 CUPS 配置为打印服务器,请编辑 /etc/cups/cupsd.conf 文件,并进行以下更改: 如果要远程配置 CUPS 或将这个主机用作打印服务器,请配置服务侦听哪个 IP 地址和端口: Listen 192.0.2.1:631 Listen [2001:db8:1::1]:631 默认情况下,CUPS 仅侦听 localhost 接口(127.0.0.1 和 ::1)。在方括号中指定 IPv6 地址。 重要 不要将 CUPS 配置为侦听允许从不可信网络(如互联网)访问的接口。 通过允许 <Location /> 指令中的 IP 范围来配置哪些 IP 范围可以访问服务: <Location /> Allow f…
- 列表:如果要远程配置 CUPS 或将这个主机用作打印服务器,请配置服务侦听哪个 IP 地址和端口: Listen 192.0.2.1:631 Listen [2001:db8:1::1]:631 默认情况下,CUPS 仅侦听 localhost 接口(127.0.0.1 和 ::1)。在方括号中指定 IPv6 地址。 重要 不要将 CUPS 配置为侦听允许从不可信网络(如互联网)访问的接口。
- 列表:通过允许 <Location /> 指令中的 IP 范围来配置哪些 IP 范围可以访问服务: <Location /> Allow from 192.0.2.0/24 Allow from [2001:db8:1::1]/32 Order allow,deny </Location>
- 列表:在<Location /admin> 指令中,配置哪些 IP 地址和范围可以访问 CUPS 管理服务: <Location /admin> Allow from 192.0.2.15/32 Allow from [2001:db8:1::22]/128 Order allow,deny </Location> 使用这些设置时,只有 IP 地址为 192.0.2.15 和 2001:db8:1::22 的主机才能访问管理服务。
- 列表:可选:配置允许访问 web 界面中的配置和日志文件的 IP 地址和范围: <Location /admin/conf> Allow from 192.0.2.15/32 Allow from [2001:db8:1::22]/128 ... </Location> <Location /admin/log> Allow from 192.0.2.15/32 Allow from [2001:db8:1::22]/128 ... </Location>
- 命令/配置摘录:
# dnf install cups
Listen 192.0.2.1:631 Listen [2001:db8:1::1]:631- 注意:重要 不要将 CUPS 配置为侦听允许从不可信网络(如互联网)访问的接口。
第 2 章 在 CUPS 服务器上配置 TLS 加密
- 要点:CUPS 支持 TLS 加密的连接,默认情况下,服务为所有需要身份验证的请求强制实施加密连接。TLS 加密的连接可确保与 CUPS 服务器进行安全通信。
- 要点:如果没有配置证书,CUPS 会创建一个私钥和一个自签名证书。如果只从本地主机访问 CUPS ,这就足够了。对于通过网络的安全连接,请使用由证书颁发机构(CA)签名的服务器证书。
- 列表:CUPS 已配置。
- 列表:您创建了一个私钥,CA 为其发布了服务器证书。
- 列表:如果需要中间证书才能验证服务器证书,请将中间证书附加到服务器证书中。
- 列表:私钥不受密码保护,因为 CUPS 在服务读取密钥时,对输入密码不提供选项。
- 列表:证书中的规范名称(CN)或主题替代名称(SAN)字段与以下之一匹配: CUPS 服务器的完全限定域名(FQDN) DNS 解析服务器 IP 地址的别名
- 列表:CUPS 服务器的完全限定域名(FQDN)
- 命令/配置摘录:
CreateSelfSignedCerts no
# rm /etc/cups/ssl/<hostname>.crt /etc/cups/ssl/<hostname>.key- 注意:警告 如果没有加密或带有自签名的证书,中间人(MITM)攻击可能会泄露敏感数据,例如: 使用 Web 界面配置 CUPS 时管理员的凭证 当通过网络发送打印作业时的机密数据
- 注意:重要 CUPS 要求您将私钥命名为 <fqdn>.key ,将服务器证书文件命名为 <fqdn>.crt。如果使用别名,则必须将文件命名为 <alias>.key 和 <alias>.crt。
第 3 章 在 web 界面中授予管理权限,以管理 CUPS 服务器
- 要点:为了避免 CUPS 管理员在其他服务中获得意外权限,请为 CUPS 管理员使用专用组。
- 要点:默认情况下,CUPS Web 界面允许 sys、root 和 wheel 组的成员执行管理任务。但是,某些其他服务也使用这些组。例如,wheel 组的成员默认可以使用 sudo 运行具有 root 权限的命令。为 CUPS 管理员使用单独的组可确保这些用户只能访问 CUPS 接口。
- 列表:CUPS 已配置。
- 列表:您要使用的客户端的 IP 地址具有访问 Web 界面中管理区域的权限。
- 列表:为 CUPS 管理员创建一个组: # groupadd cups-admins
- 列表:将应在 web 界面中管理服务的用户添加到 cups-admins 组中: # usermod -a -G cups-admins <username>
- 列表:更新 /etc/cups/cups-files.conf 文件中 SystemGroup 参数的值,并附加 cups-admin 组: SystemGroup sys root wheel cups-admins 如果只有 cups-admin 组应该具有管理访问权限,请从参数中删除其他组名称。
- 列表:重启 CUPS: # systemctl restart cups
- 命令/配置摘录:
# groupadd cups-admins
# usermod -a -G cups-admins <username>- 注意:注意 只有在使用 HTTPS 协议时,才能访问 Web UI 中的管理区域。
第 4 章 带有打印机驱动程序的软件包
- 要点:Red Hat Enterprise Linux (RHEL)为 CUPS 提供不同的带有打印机驱动程序的软件包。安装所需的软件包后,您可以在 CUPS Web 界面中或使用 lpinfo -m 命令显示驱动程序的列表。
- 要点:以下是这些软件包的的总体概述,以及它们包含哪些供应商的驱动程序:
- 表格样本(共 8 行):
- 软件包名称 | 打印机的驱动程序
- cups | zebra, Dymo
- c2esp | Kodak
- foomatic | Brother, Canon, Epson, Gestetner, HP, Infotec, Kyocera, Lanier, Lexmark, NRG, Ricoh, Samsung, Savin, Sharp, Toshiba, Xerox 等
第 5 章 确定打印机是否支持无驱动程序打印
- 要点:CUPS 支持无驱动程序打印,这意味着您可以在不为打印机型号提供任何特定于硬件的软件的情况下打印。
- 要点:要支持无驱动程序打印,打印机必须通知客户端其功能,并使用以下标准之一:
- 列表:AirPrint™
- 列表:IPP Everywhere™
- 列表:Mopria®
- 列表:Wi-Fi Direct Print Services
- 列表:打印机或远程打印服务器支持 Internet 打印协议(IPP)。
- 列表:主机可以连接到打印机或远程打印服务器的 IPP 端口。默认 IPP 端口为 631。
- 命令/配置摘录:
# ipptool -tv ipp://<ip_address_or_hostname>:631/ipp/print get-printer-attributes.test | grep -E "ipp-versions-supported|document-format-supported|get-printer-attributes"
Get printer attributes using get-printer-attributes [PASS] ipp-versions-supported (1setOf keyword) = ... document-format-supported (1setOf mimeMediaType) = ...第 6 章 无驱动程序 USB 打印
- 要点:无驱动程序打印具有 USB 连接设备的变体,通过 USB 标准涵盖 IPP。安装 ipp-usb 软件包,使其正常工作。此软件包在本地主机上使用 Avahi 注册设备,并使 USB 设备类似于网络设备。
6.1. 安装并检查打印机功能
- 要点:要为无驱动程序打印安装设备,请识别网络上的设备,并使用打印服务器设置打印队列。
- 要点:设置打印队列后,您可以通过访问打印队列中的设置或使用 ipptool 实用程序来验证打印机功能。有关验证无驱动程序打印支持的详细信息,请参阅 确定打印机是否支持无驱动程序打印。
- 列表:您已更新了设备固件。
- 列表:如果没有用于从远程打印服务器安装打印机,您可以停止并禁用 cups-browsed 服务。请注意,在这种情况下,/etc/cups/cups-browsed.conf 文件中会使用 BrowsePoll 服务器。
- 列表:安装 ipp-usb 软件包: # dnf install ipp-usb 注意 默认情况下,ipp-usb 软件包随 CUPS 一起安装。
- 列表:检查设备是否有打印功能: 验证该设备是否被 ipp-usb 识别: # sudo ipp-usb check 检查设备是否在在现有目的地中被 CUPS 识别。ipp-usb 创建的服务名称具有后缀 _USB。 $ lpstat -e Canon_MF440_Series_USB ipp-usb 创建的服务名称具有 _USB 后缀。例如,这里 Canon_MF440_Series_USB 代表名为 Canon I-Sensys MF433 的 IPP-over-USB 设备 重要 如果 lpstat -e 命令的输出中显示 Canon_MF440_Series_USB,但没有在应用程序中显示,请向应用程序报告问题。 检查设备功能: …
- 列表:验证该设备是否被 ipp-usb 识别: # sudo ipp-usb check
- 列表:检查设备是否在在现有目的地中被 CUPS 识别。ipp-usb 创建的服务名称具有后缀 _USB。 $ lpstat -e Canon_MF440_Series_USB ipp-usb 创建的服务名称具有 _USB 后缀。例如,这里 Canon_MF440_Series_USB 代表名为 Canon I-Sensys MF433 的 IPP-over-USB 设备 重要 如果 lpstat -e 命令的输出中显示 Canon_MF440_Series_USB,但没有在应用程序中显示,请向应用程序报告问题。
- 命令/配置摘录:
# dnf install ipp-usb
# sudo ipp-usb check- 注意:注意 默认情况下,ipp-usb 软件包随 CUPS 一起安装。
- 注意:重要 如果 lpstat -e 命令的输出中显示 Canon_MF440_Series_USB,但没有在应用程序中显示,请向应用程序报告问题。
6.2. 迁移现有的经典打印队列
- 要点:ipp-usb 软件包与 IPP-over-USB 设备的经典打印驱动程序不兼容。因此,您必须决定要使用哪种方法:无驱动程序或经典驱动程序。
- 要点:流程
- 列表:使用以下选项之一: 使用无驱动程序来支持 USB 设备。 要将带有经典驱动程序的现有配置迁移到 USB 设备的无驱动程序支持,请删除过去为该设备安装的任何现有打印机。… 要搜索打印机名称,请运行: + # lpstat -a 删除打印机: # lpadmin -x <printer_name> 使用经典驱动程序来支持该设备。 选择经典驱动程序需要在 ipp-usb 配置中拒绝打印机模型。 搜索设备型号名称: # sudo ipp-usb check Configuration files: OK IPP over USB devices: Num Device Vndr:Prod Model 1. Bus 001 Devic…
- 列表:使用无驱动程序来支持 USB 设备。 要将带有经典驱动程序的现有配置迁移到 USB 设备的无驱动程序支持,请删除过去为该设备安装的任何现有打印机。… 要搜索打印机名称,请运行: + # lpstat -a 删除打印机: # lpadmin -x <printer_name>
- 列表:删除打印机: # lpadmin -x <printer_name>
- 列表:使用经典驱动程序来支持该设备。 选择经典驱动程序需要在 ipp-usb 配置中拒绝打印机模型。 搜索设备型号名称: # sudo ipp-usb check Configuration files: OK IPP over USB devices: Num Device Vndr:Prod Model 1. Bus 001 Device 005 04a9:2823 "Canon MF440 Series" 为 ipp-usb 创建一个 quirk,并在 /etc/ipp-usb/quirks 目录中的新 quirk 文件中使用名称。请注意,.conf 后缀是必需的。 # cat /etc/ipp-usb/quirks/cano…
- 列表:搜索设备型号名称: # sudo ipp-usb check Configuration files: OK IPP over USB devices: Num Device Vndr:Prod Model 1. Bus 001 Device 005 04a9:2823 "Canon MF440 Series"
- 列表:为 ipp-usb 创建一个 quirk,并在 /etc/ipp-usb/quirks 目录中的新 quirk 文件中使用名称。请注意,.conf 后缀是必需的。 # cat /etc/ipp-usb/quirks/canon.conf [Canon MF440 Series] blacklist = true
- 命令/配置摘录:
# lpstat -a
# lpadmin -x <printer_name>- 注意:注意 您可以通过删除 ipp-usb 软件包,并从 DNF 操作中排除它,来选择退出无驱动程序 USB 支持。
第 7 章 设置传统打印机
- 要点:传统打印机是不支持无驱动程序打印标准的打印机,如 IPP Everywhere 或 AirPrint,并且仍需要传统的驱动程序才能正常工作。要将旧的打印机与 CUPS 一起使用,您必须通过打印机应用程序进行配置。
- 要点:打印机应用程序是充当传统打印机和 CUPS 之间的中介的服务。它使用其驱动程序与打印机通信,并将 CUPS 打印机作为无驱动程序 IPP 网络打印机提供。RHEL 包括以下基于 PAPPL 的打印机应用程序及其默认 TCP 端口:
- 列表:LPrint: 8000
- 列表:传统打印机应用程序:8001
- 列表:安装并启动基于 PAPPL 的打印机应用程序。
- 列表:将传统打印机添加到打印机应用程序。
- 列表:将打印机应用程序中的打印机作为永久队列添加到 CUPS。
- 注意:重要 在 CUPS 中使用经典驱动程序安装打印机已弃用。改为使用打印机应用程序。
7.1. 配置基于 PAPPL 的打印机应用程序
- 要点:要轻松有效地支持各种打印需求,并准备好安装传统打印机,您可以设置一个基于 PAPPL 的打印机应用程序。
- 要点:先决条件
- 列表:在主机上具有 root 权限。
- 列表:安装基于 PAPPL 的打印机应用程序软件包,例如 lprint : # dnf install <printer_application_name>
- 列表:可选:在 firewalld 中启用端口 8000,来从远程主机访问打印机应用程序 Web 界面: # firewall-cmd --permanent --add-port=8000/tcp # firewall-cmd --reload 注意 您可以检查 /etc/lprint.conf 配置文件中的端口。
- 列表:启用并启动服务: # systemctl enable --now <printer_application_name>
- 命令/配置摘录:
# dnf install <printer_application_name>
# firewall-cmd --permanent --add-port=8000/tcp # firewall-cmd --reload- 注意:注意 您可以检查 /etc/lprint.conf 配置文件中的端口。
7.2. 使用 Web 界面在基于 PAPPL 的打印机应用程序中安装传统打印机
- 要点:将旧的打印机添加到基于 PAPPL 的应用程序中,以缩小较旧的硬件和现代驱动程序环境之间的差距。这个过程将旧协议转换为 IPP 服务,确保非无驱动程序设备可以正常工作并可在您的网络上发现。
- 要点:先决条件
- 列表:打印机应用程序已安装并运行。
- 列表:在您的浏览器中,导航到位于 https:// <hostname > :8000 的打印机应用程序 Web 界面。在主页上,单击 Add Printer。
- 列表:对于网络打印机,请选择 printer name、device、hostname/IP address,请从提供的列表中选择驱动程序名称,然后单击 Add Printer。您还可以使用 auto-detect 选项搜索驱动程序。 对驱动程序使用 auto-detection 选项可能会导致为您的设备查找不兼容的驱动程序,如果设备模型与可用驱动程序有太大不同。在打印并手动更改驱动程序前检查分配的驱动程序,以防止打印问题。
- 列表:使用的驱动程序位于 block Status 中的第二行。您可以通过单击 Print Test Page 来测试功能。
7.3. 使用命令行界面在基于 PAPPL 的打印机应用程序中安装传统打印机
- 要点:将旧的打印机添加到基于 PAPPL 的应用程序中,以缩小较旧的硬件和现代驱动程序环境之间的差距。这个过程将旧协议转换为 IPP 服务,确保非无驱动程序设备可以正常工作并可在您的网络上发现。
- 要点:先决条件
- 列表:打印机应用程序已安装并运行。
- 列表:在基于 PAPPL 的打印机应用程序中搜索可用的驱动程序: # lprint drivers zpl_2inch-203dpi-dt "Zebra ZPL 2-inch/203dpi/Direct-Thermal
- 列表:安装打印机。例如,要安装具有指定驱动程序的网络打印机,请输入: # lprint add -d <printer name> -v socket://<hostname> -m zpl_2inch-203dpi-dt
- 列表:检查打印机是否出现在打印机列表中: # lprint printers <printer_name> - printer - ipp://localhost/ipp/print/<printer_name>
- 命令/配置摘录:
# lprint drivers
zpl_2inch-203dpi-dt "Zebra ZPL 2-inch/203dpi/Direct-Thermal7.4. 将打印机应用程序中的打印机作为永久队列添加到 CUPS
- 要点:在打印机应用程序中安装旧的打印机后,应用程序会将其作为 IPP 网络打印机使用。然后,您可以将此打印机作为永久队列添加到 CUPS 中,以便用户可以打印到其中。
- 要点:先决条件
- 列表:CUPS 配置有 TLS 证书。
- 列表:您在 CUPS 中具有管理打印机的权限。
- 列表:传统打印机已安装在打印机应用程序中。
- 列表:检查打印机应用程序中是否有打印机: # lpstat -e <printer_name_in_printer_application>
- 列表:搜索打印机应用程序正在使用的端口: # grep 'server-port=' /etc/lprint.conf server-port=8000
- 列表:使用端口号 8000 安装永久队列: # lpadmin -p <printer_name_in_CUPS> -v ipps://localhost:8000/ipp/print/<printer_name_in_printer_application> -m everywhere -E
- 命令/配置摘录:
# lpstat -e
<printer_name_in_printer_application>第 8 章 使用 Web 界面向 CUPS 添加打印机
- 要点:在用户可以通过 CUPS 打印之前,您必须添加打印机。您可以使用网络打印机和直接附加到 CUPS 主机的打印机,例如通过 USB。
- 要点:您可以使用 CUPS 无驱动程序功能或使用 PostScript 打印机描述(PPD)文件来添加打印机。
- 列表:CUPS 已配置。
- 列表:您在 CUPS 中有管理打印机的权限。
- 列表:如果您使用 CUPS 作为打印服务器,则您配置了 TLS 加密 来通过网络安全地传输数据。
- 列表:如果要使用此功能,打印机支持需无驱动程序打印。
- 列表:使用浏览器并访问 https://<hostname>:631/admin/。 您必须使用 HTTPS 协议连接到 Web 界面。否则,CUPS 会因为安全原因在以后的步骤中阻止身份验证。
- 列表:单击 Add printer。
- 注意:注意 CUPS 更喜欢无驱动程序打印,使用驱动程序已被弃用。
第 9 章 使用 lpadmin 工具将打印机添加 CUPS
- 要点:在用户可以通过 CUPS 打印之前,您必须添加打印机。您可以使用网络打印机和直接附加到 CUPS 主机的打印机,例如通过 USB。
- 要点:您可以使用 CUPS 无驱动程序功能或使用 PostScript 打印机描述(PPD)文件来添加打印机。
- 列表:CUPS 已配置。
- 列表:如果要使用此功能,打印机支持需无驱动程序打印。
- 列表:打印机接受端口 631 (IPP)、9100 (套接字)或 515 (LPD)上的数据。端口取决于您用来连接到打印机的方法。
- 列表:在 CUPS 中添加打印机: 要添加带有无驱动程序支持的打印机,请输入: # lpadmin -p Demo-printer -E -v ipp://192.0.2.200/ipp/print -m everywhere 如果 -m anywhere 选项不适用于您的打印机,请尝试 -m driverless:<uri>,例如:-m driverless:ipp://192.0.2.200/ipp/print。 要从带有无驱动程序支持的远程打印服务器添加一个队列,请输入: # lpadmin -p Demo-printer -E -v ipp://192.0.2.201/printers/example-queue -m ever…
- 列表:要添加带有无驱动程序支持的打印机,请输入: # lpadmin -p Demo-printer -E -v ipp://192.0.2.200/ipp/print -m everywhere 如果 -m anywhere 选项不适用于您的打印机,请尝试 -m driverless:<uri>,例如:-m driverless:ipp://192.0.2.200/ipp/print。
- 列表:要从带有无驱动程序支持的远程打印服务器添加一个队列,请输入: # lpadmin -p Demo-printer -E -v ipp://192.0.2.201/printers/example-queue -m everywhere 如果 -m anywhere 选项不适用于您的打印机,请尝试 -m driverless:<uri>,例如:-m driverless:ipp://192.0.2.200/printers/example-queue。
- 命令/配置摘录:
# lpadmin -p Demo-printer -E -v ipp://192.0.2.200/ipp/print -m everywhere
# lpadmin -p Demo-printer -E -v ipp://192.0.2.201/printers/example-queue -m everywhere- 注意:注意 CUPS 更喜欢无驱动程序打印,使用驱动程序已被弃用。
第 10 章 使用 Web 界面在 CUPS 打印机上执行维护和管理任务
- 要点:CUPS Web 界面提供了在打印机上执行管理任务的图形选项。
- 要点:打印机管理员有时需要在打印服务器上执行不同的任务。例如:
- 列表:维护任务,如在技术人员修复打印机时临时暂停打印机
- 列表:管理任务,如更改打印机的默认设置
- 列表:CUPS 已配置。
- 列表:您在 CUPS 中有管理打印机的权限。
- 列表:如果您使用 CUPS 作为打印服务器,您配置了 TLS 加密 来不通过网络发送纯文本形式的凭证。
- 列表:打印机已在 CUPS 中存在。
第 11 章 使用 Samba 打印到使用 Kerberos 验证的 Windows 打印服务器
- 要点:使用 samba-krb5-printing 包装器,登录到 Red Hat Enterprise Linux (RHEL)的活动目录(AD)用户可以使用 Kerberos 向活动目录(AD)进行身份验证,然后打印到将打印作业转发到 Windows 打印服务器的本地 CUPS 打印服务器。
- 要点:使用 samba-krb5-printing 包装程序无需 RHEL 上的 CUPS 管理员将固定用户名和密码存储在配置中。CUPS 使用发送打印作业的用户的 Kerberos ticket 验证 AD。
- 列表:要添加到本地 CUPS 实例中的打印机在 AD 打印服务器上是共享的。
- 列表:您作为 AD 的成员加入 RHEL 主机。
- 列表: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 <windows_print_server> -U administrator@<AD_KERBEROS_REALM> --use-kerberos=required Sharename Type Comment --------- ---- ------- Example Printer Example
- 命令/配置摘录:
# dnf install samba-krb5-printing samba-client krb5-workstation
# smbclient -L <windows_print_server> -U administrator@<AD_KERBEROS_REALM> --use-kerberos=required- 注意:注意 红帽支持只支持从本地系统向 CUPS 提交打印作业,不支持在 Samba 打印服务器上重新共享打印机。
第 12 章 使用 cups-browsed 从远程打印服务器在本地集成打印机
- 要点:cups-browsed 服务使用 DNS 服务发现(DNS-SD)和 CUPS 浏览来使本地 CUPS 服务中自动提供的全部共享远程打印机或过滤的共享远程打印机的子集。在工作站上使用此功能,仅使来自可信打印服务器的打印机可用。
- 要点:您可以将 cups-browsed 配置为根据特定条件过滤浏览打印机,以便在打印服务器共享大量打印机时减少列出的打印机的数量。
- 列表:已在本地主机上配置了 CUPS 服务。
- 列表:存在一个远程 CUPS 打印服务器,且以下条件适用于这个服务器: 服务器侦听可从客户端访问的接口。 /etc/cups/cups.conf 文件中服务器 <Location /> 指令中的Allow from 参数允许从客户端的 IP 地址访问。 服务器共享打印机。 防火墙规则允许从客户端访问服务器上的 CUPS 端口。
- 列表:服务器侦听可从客户端访问的接口。
- 列表:/etc/cups/cups.conf 文件中服务器 <Location /> 指令中的Allow from 参数允许从客户端的 IP 地址访问。
- 列表:服务器共享打印机。
- 列表:防火墙规则允许从客户端访问服务器上的 CUPS 端口。
- 命令/配置摘录:
BrowsePoll remote_cups_server.example.com BrowsePoll 192.0.2.100:1631
BrowseFilter name sales_- 注意:注意 如果应用程序中的打印对话框使用其它机制(如 DNS-SD)来列出远程打印机,则 cups-browsed 没有影响。cups-browsed 服务也不会阻止用户手动访问未列出的打印机。
第 13 章 访问 systemd 日志中的 CUPS 日志
- 要点:默认情况下,CUPS 将日志消息存储在 systemd 日志中。这包括错误消息、访问日志条目和页面日志条目。
- 要点:先决条件
- 列表:CUPS 已安装。
- 列表:显示日志条目: 要显示所有日志条目,请输入: # journalctl -u cups 要显示特定打印作业的日志条目,请输入: # journalctl -u cups JID=<print_job_id> 要显示特定时间段内的日志条目,请输入: # journalectl -u cups --since=<YYYY-MM-DD> --until=<YYYY-MM-DD> 将 YYYY 替换为年,将 MM 替换为月,将 DD 替换为天。
- 列表:要显示所有日志条目,请输入: # journalctl -u cups
- 列表:要显示特定打印作业的日志条目,请输入: # journalctl -u cups JID=<print_job_id>
- 列表:要显示特定时间段内的日志条目,请输入: # journalectl -u cups --since=<YYYY-MM-DD> --until=<YYYY-MM-DD> 将 YYYY 替换为年,将 MM 替换为月,将 DD 替换为天。
- 命令/配置摘录:
# journalctl -u cups
# journalctl -u cups JID=<print_job_id>第 14 章 将 CUPS 配置为把日志存储在文件中而不是 systemd 日志中
- 要点:默认情况下,CUPS 将日志消息存储在 systemd 日志中。或者,您可以将 CUPS 配置为将日志消息存储在文件中。
- 要点:先决条件
- 列表:CUPS 已安装。
- 列表:编辑 /etc/cups/cups-files.conf 文件,并将 AccessLog、ErrorLog 和 PageLog 参数设置为您要存储这些日志文件的路径: AccessLog /var/log/cups/access_log ErrorLog /var/log/cups/error_log PageLog /var/log/cups/page_log
- 列表:如果您将 CUPS 配置为将日志存储在 /var/log/cups/ 以外的目录中,请在该目录上设置 cupsd_log_t SELinux 上下文,例如: # semanage fcontext -a -t cupsd_log_t "/var/log/printing(/.*)?" # restorecon -Rv /var/log/printing/
- 列表:重启 cups 服务: # systemctl restart cups
- 列表:显示日志文件: # cat /var/log/cups/access_log # cat /var/log/cups/error_log # cat /var/log/cups/page_log
- 列表:如果您将 CUPS 配置为将日志存储在 /var/log/cups/ 以外的目录中,请验证日志目录上的 SELinux 上下文是否为 cupsd_log_t: # ls -ldZ /var/log/printing/ drwxr-xr-x. 2 lp sys unconfined_u:object_r:cupsd_log_t:s0 6 Jun 20 15:55 /var/log/printing/
- 命令/配置摘录:
AccessLog /var/log/cups/access_log ErrorLog /var/log/cups/error_log PageLog /var/log/cups/page_log
# semanage fcontext -a -t cupsd_log_t "/var/log/printing(/.*)?" # restorecon -Rv /var/log/printing/第 15 章 配置高可用性 CUPS 打印服务器环境
- 要点:如果您的客户端需要在不中断的情况下访问打印机,您可以在多个主机上设置 CUPS,并使用打印队列浏览功能来提供高可用性。然后,打印客户端自动配置由不同打印服务器共享的打印队列。
- 要点:如果客户端将打印作业发送到其本地打印队列,则客户端上的 CUPS 会将作业路由到处理作业并将其发送到打印机的一个打印服务器。
- 列表:在两个或多个服务器上设置 CUPS: 安装和配置 CUPS。 启用 TLS 加密。 使用 lpadmin 工具 或 Web 界面 将打印队列添加到所有 CUPS 实例中。如果使用 Web 界面,请确保在添加打印机时选择 Share this printer 选项。lpadmin 工具默认启用此设置。 重要 对于高可用性场景,一个打印服务器上的每个队列都需要一个在其他服务器上具有完全相同的队列名称的队列。您可以使用 lpstat -e 命令显示每个服务器上的队列名称。 可选:您可以在每台服务器上配置队列,来引用不同的打印机。
- 列表:安装和配置 CUPS。
- 列表:启用 TLS 加密。
- 列表:使用 lpadmin 工具 或 Web 界面 将打印队列添加到所有 CUPS 实例中。如果使用 Web 界面,请确保在添加打印机时选择 Share this printer 选项。lpadmin 工具默认启用此设置。 重要 对于高可用性场景,一个打印服务器上的每个队列都需要一个在其他服务器上具有完全相同的队列名称的队列。您可以使用 lpstat -e 命令显示每个服务器上的队列名称。 可选:您可以在每台服务器上配置队列,来引用不同的打印机。
- 列表:在打印客户端上: 编辑 /etc/cups/cups-browsed.conf 文件,并为每个 CUPS 打印服务器添加 BrowsePoll 指令: BrowsePoll print_server_1.example.com:631 BrowsePoll print_server_2.example.com:631 启用并启动 cups 和 cups-browsed 服务: # systemctl enable --now cups cups-browsed
- 列表:编辑 /etc/cups/cups-browsed.conf 文件,并为每个 CUPS 打印服务器添加 BrowsePoll 指令: BrowsePoll print_server_1.example.com:631 BrowsePoll print_server_2.example.com:631
- 命令/配置摘录:
BrowsePoll print_server_1.example.com:631 BrowsePoll print_server_2.example.com:631
# systemctl enable --now cups cups-browsed- 注意:重要 对于高可用性场景,一个打印服务器上的每个队列都需要一个在其他服务器上具有完全相同的队列名称的队列。您可以使用 lpstat -e 命令显示每个服务器上的队列名称。
第 16 章 访问 CUPS 文档
- 要点:CUPS 提供对安装在 CUPS 服务器上的服务文档的基于浏览器的访问。
- 要点:浏览器可访问的 CUPS 文档包括:
- 列表:管理文档,如用于命令行打印机管理和记帐
- 列表:手册页
- 列表:编程文档,如管理 API
- 列表:参考
- 列表:Specifications
- 列表:CUPS 已安装并正在运行。
完整目录
- 将您的系统配置为 CUPS 服务器,并管理打印机、打印队列和您的打印环境
- 对红帽文档提供反馈
- 第 1 章 安装和配置 CUPS
- 第 2 章 在 CUPS 服务器上配置 TLS 加密
- 第 3 章 在 web 界面中授予管理权限,以管理 CUPS 服务器
- 第 4 章 带有打印机驱动程序的软件包
- 第 5 章 确定打印机是否支持无驱动程序打印
- 第 6 章 无驱动程序 USB 打印
- 6.1. 安装并检查打印机功能
- 6.2. 迁移现有的经典打印队列
- 第 7 章 设置传统打印机
- 7.1. 配置基于 PAPPL 的打印机应用程序
- 7.2. 使用 Web 界面在基于 PAPPL 的打印机应用程序中安装传统打印机
- 7.3. 使用命令行界面在基于 PAPPL 的打印机应用程序中安装传统打印机
- 7.4. 将打印机应用程序中的打印机作为永久队列添加到 CUPS
- 第 8 章 使用 Web 界面向 CUPS 添加打印机
- 第 9 章 使用 lpadmin 工具将打印机添加 CUPS
- 第 10 章 使用 Web 界面在 CUPS 打印机上执行维护和管理任务
- 第 11 章 使用 Samba 打印到使用 Kerberos 验证的 Windows 打印服务器
- 第 12 章 使用 cups-browsed 从远程打印服务器在本地集成打印机
- 第 13 章 访问 systemd 日志中的 CUPS 日志
- 第 14 章 将 CUPS 配置为把日志存储在文件中而不是 systemd 日志中
- 第 15 章 配置高可用性 CUPS 打印服务器环境
- 第 16 章 访问 CUPS 文档
