CUPS 使用 https URI 将 AuthInfoRequired 从用户名、密码更改为无

CUPS 使用 https URI 将 AuthInfoRequired 从用户名、密码更改为无

我有两台运行 cups 的 CentOS 6 服务器,并通过 https 打印机连接到同一个 ipp。两者都是使用lpadmin下面相同的命令安装的。

lpadmin -p ptr -v https://username%40mailer.com:p%[email protected]/printer -E

服务器 1 能够正常打印。

杯子

Name        : cups
Arch        : x86_64
Epoch       : 1
Version     : 1.4.2
Release     : 44.el6

打印机配置文件

<Printer ptr>
AuthInfoRequired username,password
Info ptr
DeviceURI https://username%40mailer.com:p%[email protected]/printer

服务器 2 无法打印

杯子

Name        : cups
Arch        : x86_64
Epoch       : 1
Version     : 1.4.2
Release     : 78.el6_9

打印机配置文件

<Printer ptr>
AuthInfoRequired none
Info ptr
DeviceURI https://username%40mailer.com:p%[email protected]/printer

/var/log/cups/error_log

D [26/Oct/2017:10:31:53 -0400] [Job 220770] Connected to printer...
D [26/Oct/2017:10:31:53 -0400] [Job 220770] Connected to my-printserverip:443 (IPv4)...
D [26/Oct/2017:10:31:53 -0400] [Job 220770] Getting supported attributes...
D [26/Oct/2017:10:31:53 -0400] [Job 220770] ATTR: auth-info-required=none
D [26/Oct/2017:10:31:53 -0400] [Job 220770] Backend returned status 2 (authentication required)
D [26/Oct/2017:10:31:53 -0400] [Job 220770] Job held for authentication.

在服务器2上,我尝试停止cups,AuthInfoRequired从更改noneusername,password,然后启动cups,但是它没有修复它,并且在下一个cups重新启动时只是恢复回none。我尝试在服务器 1 上弹跳杯子,它保留了username,password.然后,我将服务器 1 更新到版本78.el6_9ptr使用上面的 lpadmin 命令卸载并重新安装,现在两台服务器都在同一条船上恢复到AuthInfoRequired noneJob held for authentication

我需要对新版本的杯子做一些不同的事情吗?

我尝试过 pass -o auth-info=username,password,但这似乎会使该AuthInfoRequired行全部消失,并导致日志中出现与上面相同的错误。

更新1:

AuthInfoRequired使用 CentOS 7 进行测试给出了自动填充username,passwordCUPS 版本的预期行为1.6.3-26

更新2:

尝试rpmrepack从另一台 CentOS 6 服务器获取 cups 1.4.2-44 并将 rpm 降级到之前的旧版本,但没有成功。

更新3:

我已经开始阅读我的版本的cups 源代码。看来 AuthInfoRequired 字段是根据 cups 是否在 DeviceURI 中看到密码而自动为 ipp 打印机设置的,不知道为什么它会将我的身份验证信息扔到窗外。

答案1

而不是auth-info=username,password使用auth-info-required(例如-o auth-info-required=username,password)。 CUPSprinters.conf在停止时重写(请参阅手册页,CUPS源),因此要编辑该文件,请先停止 CUPS 服务器或使用lpoptions.

如果您恢复到 1.4.2-44 并进行设置,auth-info-required您应该可以恢复打印。

相关内容