Befehlszeilendruck mit einem Samba-Drucker, für den eine Authentifizierung erforderlich ist

9

Gibt es eine Möglichkeit, auf einem Samba-Drucker zu drucken, für den eine Authentifizierung erforderlich ist, indem die Anmeldeinformationen in der Befehlszeile angegeben werden (z. B. mit lpr)?

Ich habe es geschafft, die Anmeldeinformationen in GNOME Keyring zu speichern, und wenn ich mit einer Desktopsitzung angemeldet bin, mit der ich drucken kann lpr.

Gibt es einen Weg zu beiden:

  • Geben Sie die Anmeldeinformationen an lpr
  • Authentifizieren Sie die Jobs in der Warteschlange

bei der Remote-Anmeldung (SSH)?

Bearbeiten

Ich weiß, dass es möglich ist, eine Reihe von Anmeldeinformationen für alle Benutzer zu speichern (direkt in CUPS in der Drucker-URI), aber jeder Benutzer muss sich mit seinen eigenen Anmeldeinformationen authentifizieren.

Matteo
quelle
Es ist nicht pritcap?
Mikeserv
@mikeserv printcap um was zu tun?
Matteo
Sie können den Schlüsselring ohne Gnom oder Display-Manager starten. dies zu tun: eval $ (/ usr / bin / gnome-keyring-daemon --start --components gpg =, pkcs11, Geheimnisse, ssh) # Sie müssen wahrscheinlich , dies zu tun zu: export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
phoops
@ edvinas.me Der Schlüsselring wird gestartet, aber immer noch keine Verbesserung
Matteo

Antworten:

8

smbclient

Sie können smbclientdamit Dateien drucken. Ich kann über Samba auf einem meiner Drucker wie folgt drucken:

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

Beispiel

$ 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

Ich habe dieses Beispiel auch hier in einem Thread mit dem Titel: Lion Kerberos-Druck gefunden . Es gibt 2 Methoden.

Methode 1 - Drucker bereits installiert

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

Methode 2 - Drucker hinzufügen

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

In beiden Fällen sollten Sie lpr -P PRINTERNAMEnach dem Konfigurieren des SMB-Druckers in der Lage sein, einen der oben genannten Befehle auszuführen .

HINWEIS 1: Möglicherweise können Sie der smb://Zeile bei Bedarf Benutzernamen und Domänen hinzufügen . Ich habe diese Einrichtung jedoch nicht getestet. Der -U <username>Schalter ermöglicht auch das Überschreiben Ihres Benutzernamens.

HINWEIS 2: Mit dieser Methode wird ein Drucker mit den zwischengespeicherten Anmeldeinformationen erstellt. Dies entspricht möglicherweise nicht Ihren Anforderungen , ermöglicht lprjedoch das Senden von Ausdrucken an einen SMB-Drucker, nur ohne die enthaltenen Anmeldeinformationen.

Verweise

slm
quelle
Auf diese Weise kann die Authentifizierung über die Befehlszeile eingerichtet werden. Das Problem besteht jedoch darin, dass beim Drucken über die Befehlszeile lprkeine Authentifizierung möglich ist. Die Jobs bleiben einfach in der Warteschlange stecken.
Matteo
@Matteo - siehe Updates.
slm
smbclientklappt wunderbar. Danke für das Update.
Matteo
@Matteo - Ich habe die Methoden umgedreht, sodass smbclient an erster Stelle steht, da dies wirklich das A für Ihr Q ist, aber die lpadminDetails für den Fall belassen, dass jemand einen dauerhafteren SMB-Druckereintrag erstellen möchte.
slm
HINWEIS! Die oben angegebene smbclient-Version wird unter der Annahme gedruckt, dass es sich bei der Datei um eine Textdatei handelt. Wenn Sie damit ein PDF drucken, spuckt Ihr Drucker Seite für Seite PDF-Quellcode aus.