Impression en ligne de commande avec une imprimante Samba nécessitant une authentification

9

Existe-t-il un moyen d'imprimer sur une imprimante Samba nécessitant une authentification en fournissant les informations d'identification sur la ligne de commande (par exemple, avec lpr)?

J'ai réussi à stocker les informations d'identification dans le trousseau de clés GNOME et lorsque je suis connecté à une session de bureau, je peux imprimer avec lpr.

Existe-t-il un moyen:

  • fournir les informations d'identification à lpr
  • authentifier les travaux dans la file d'attente

lors de la connexion à distance (SSH)?

Éditer

Je sais qu'il est possible de stocker un ensemble d'informations d'identification pour tous les utilisateurs (directement dans CUPS dans l'URI de l'imprimante), mais nous avons besoin que chaque utilisateur s'authentifie avec ses propres informations d'identification.

Matteo
la source
Il n'utilise pas de pritcap?
mikeserv
@mikeserv printcap pour faire quoi?
Matteo
vous pouvez démarrer le trousseau de clés sans gnome ni gestionnaire d'affichage. pour ce faire: eval $ (/ usr / bin / gnome-keyring-daemon --start --components = gpg, pkcs11, secrets, ssh) # Vous devez probablement le faire aussi: exportez GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
phoops
@ edvinas.me Le trousseau de clés démarre mais toujours aucune amélioration
Matteo

Réponses:

8

smbclient

Vous pouvez utiliser smbclientpour imprimer des fichiers. Je peux imprimer via Samba sur l'une de mes imprimantes comme ceci:

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

Exemple

$ 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

J'ai également trouvé cet exemple ici dans un fil intitulé: Impression Lion Kerberos . Il existe 2 méthodes.

Méthode # 1 - Imprimantes déjà installées

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

Méthode n ° 2 - Ajout d'une imprimante

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

Dans les deux cas, une fois que vous avez exécuté l'une des commandes ci-dessus, vous devriez pouvoir le faire lpr -P PRINTERNAMEaprès avoir configuré l'imprimante SMB.

REMARQUE 1: vous pourrez peut-être ajouter des noms d'utilisateur et des domaines à la smb://ligne si nécessaire. Je n'ai cependant pas testé cette installation. Le -U <username>commutateur permet également de remplacer votre nom d'utilisateur.

REMARQUE 2: cette méthode créera une imprimante avec les informations d'identification mises en cache, ce qui peut ne pas être ce que vous voulez, mais permettra lprd'envoyer des impressions à une imprimante SMB, juste sans les informations d'identification incluses.

Références

slm
la source
Cela permettra de configurer l'authentification à partir de la ligne de commande, mais le problème est que lorsque l'impression à partir de la ligne de commande lprn'a aucun moyen de s'authentifier. Les travaux resteront simplement bloqués dans la file d'attente.
Matteo
@Matteo - voir les mises à jour.
slm
smbclientfonctionne comme un charme. Merci pour la mise à jour.
Matteo
@Matteo - J'ai inversé les méthodes pour que smbclient soit le premier puisque c'est vraiment le A de votre Q, mais j'ai laissé les lpadmindétails au cas où quelqu'un voudrait créer une entrée d'imprimante SMB plus permanente.
slm
REMARQUE! La version smbclient donnée ci-dessus s'imprime en supposant que le fichier est un fichier texte. Si vous imprimez un PDF avec cela, votre imprimante va vomir page après page après page du code source PDF.