認証が必要なSambaプリンターを使用したコマンドライン印刷


9

コマンドラインでクレデンシャルを提供することにより(例:でlpr)認証を要求するSambaプリンターに印刷する方法はありますか?

資格情報をGNOMEキーリングに保存し、デスクトップセッションでログインすると、で印刷できますlpr

次のいずれかに方法はありますか:

  • 資格情報を提供する lpr
  • キュー内のジョブを認証する

リモートでログインするとき(SSH)?

編集する

すべてのユーザーの資格情報のセットを(プリンターのURIのCUPSに直接)保存することは可能ですが、各ユーザーは自分の資格情報で認証する必要があります。


プリットキャップはありませんか?
mikeserv 2014年

@mikeserv printcapは何をするのですか?
Matteo

gnomeやディスプレイマネージャーなしでキーリングを開始できます。これを行うには:eval $(/ usr / bin / gnome-keyring-daemon --start --components = gpg、pkcs11、secrets、ssh)#おそらくこれも行う必要があります:export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
phoops

@ edvinas.meキーリングが開始されましたが、まだ改善されていません
Matteo

回答:


8

smbclient

smbclientファイルの印刷に使用できます。私はSamba経由で次のようなプリンタの1つに印刷できます。

$ smbclient -U <user> //server/printer -c "print <filename>"

$ smbclient -U sam //bart/mfc-8480dn -c "print hello_printer.txt"
Enter sam's password: 
Domain=[BUBBA] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
putting file hello_printer.txt as hello_printer.txt (0.2 kb/s) (average 0.2 kb/s)

lpadmin

この例は、Lion Kerberosの印刷というタイトルのスレッドにもありました。2つの方法があります。

方法#1-既にインストールされているプリンター

$ sudo lpadmin -p PRINTERNAME -o auth-info-required=negotiate

方法#2-プリンターの追加

$ sudo lpadmin -p PRINTERNAME -E -v smb://PRINTSERVER/PRINTQUEUE \
    -m Generic.ppd -L "LOCATION" -o auth-info-required=negotiate

どちらの場合も、上記のコマンドのいずれかを実行lpr -P PRINTERNAMEすると、SMBプリンターの構成後に実行できるはずです。

注1:smb://必要に応じて、ユーザー名とドメインを回線に追加できる場合があります。ただし、その機能はテストしていません。また、-U <username>スイッチではユーザー名を上書きできます。

注2:この方法では、資格情報がキャッシュされたプリンターが作成されますが、これは適切ではない可能性がありますがlpr、資格情報が含まれていなくてもSMBプリンターに印刷を送信できます。

参考文献


これにより、コマンドラインから認証を設定できますが、問題は、コマンドラインから印刷するときlprに認証する方法がないことです。ジョブはキューにスタックしたままになります。
Matteo

@Matteo-アップデートを参照してください。
slm

smbclient魅力のように動作します。更新していただきありがとうございます。
Matteo

@Matteo-smbclientが1番目になるようにメソッドを反転させました。これは実際にはQのAですが、lpadmin誰かがより永続的なSMBプリンターエントリを作成する場合に備えて詳細を残しました。
slm

注意!上記のsmbclientバージョンは、ファイルがテキストファイルであると想定して印刷します。これを使用してPDFを印刷すると、プリンターはPDFソースコードのページを次々に吐き出します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.