web-dev-qa-db-ja.com

CUPSがAuthInfoRequiredをユーザー名、パスワードからhttps URIでなしに変更

2つのCentOS 6サーバーでcupsを実行し、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

printers.conf

<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

printers.conf

<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で、カップを停止し、AuthInfoRequirednoneからusername,passwordに変更してからカップを開始しようとしましたが、修正されず、次のカップの再起動でnoneに戻ります。サーバー1でカップをバウンスしようとしましたが、username,passwordが保持されています。次に、サーバー1をバージョン78.el6_9に更新し、上記のlpadminコマンドを使用してptrをアンインストールして再インストールすると、両方のサーバーが同じボートにあり、AuthInfoRequired noneJob held for authenticationに戻ります。

新しいバージョンのcupsで行う必要がある別のことはありますか?

-o auth-info=username,passwordを渡してみましたが、これによりAuthInfoRequiredの行がすべて消えてしまい、上記と同じエラーがログに記録されます。

更新1:

CentOS 7でテストすると、AuthInfoRequiredusername,password CUPSバージョン1.6.3-26が自動的に入力されるという予想される動作が得られます

アップデート2:

別のCentOS 6サーバーからrpmrepack cups 1.4.2-44を試しましたが、rpmを以前の古いバージョンにダウングレードしても成功しませんでした。

更新3:

私のバージョンのcupsソースコードを読み始めました。 AuthInfoRequiredフィールドは、ippsがDeviceURIでパスワードを表示するかどうかに基づいて自動的にippプリンターに設定されているようですが、なぜそれが私のAuth情報をウィンドウから投げ出すのかわからないのです。

3
Zachary Brady

auth-info=username,passwordの代わりにauth-info-requiredを使用します(例:-o auth-info-required=username,password)。 CUPSは停止時にprinters.confを書き換えます( manページCUPS source を参照)。そのため、ファイルを編集するには、最初にCUPSサーバーを停止するか、lpoptions

1.4.2-44に戻してauth-info-requiredを設定すると、印刷できるようになります。

2
pypi