我有两台运行 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
从更改none
为username,password
,然后启动cups,但是它没有修复它,并且在下一个cups重新启动时只是恢复回none
。我尝试在服务器 1 上弹跳杯子,它保留了username,password
.然后,我将服务器 1 更新到版本78.el6_9
,ptr
使用上面的 lpadmin 命令卸载并重新安装,现在两台服务器都在同一条船上恢复到AuthInfoRequired none
和Job held for authentication
。
我需要对新版本的杯子做一些不同的事情吗?
我尝试过 pass -o auth-info=username,password
,但这似乎会使该AuthInfoRequired
行全部消失,并导致日志中出现与上面相同的错误。
更新1:
AuthInfoRequired
使用 CentOS 7 进行测试给出了自动填充username,password
CUPS 版本的预期行为1.6.3-26
更新2:
尝试rpmrepack
从另一台 CentOS 6 服务器获取 cups 1.4.2-44 并将 rpm 降级到之前的旧版本,但没有成功。
更新3:
我已经开始阅读我的版本的cups 源代码。看来 AuthInfoRequired 字段是根据 cups 是否在 DeviceURI 中看到密码而自动为 ipp 打印机设置的,不知道为什么它会将我的身份验证信息扔到窗外。