Impresión de línea de comando con una impresora Samba que requiere autenticación

9

¿Hay alguna manera de imprimir en una impresora Samba que requiera autenticación proporcionando las credenciales en la línea de comando (por ejemplo, con lpr)?

Logré almacenar las credenciales en GNOME Keyring y cuando estoy conectado con una sesión de escritorio puedo imprimir lpr.

¿Hay alguna manera de:

  • suministrar las credenciales a lpr
  • autenticar los trabajos en la cola

al iniciar sesión de forma remota (SSH)?

Editar

Sé que es posible almacenar un conjunto de credenciales para todos los usuarios (directamente en CUPS en el URI de la impresora), pero necesitamos que cada usuario se autentique con sus propias credenciales.

Matteo
fuente
¿No es pritcap?
mikeserv
@mikeserv printcap para hacer qué?
Matteo
Puede comenzar llavero sin gnome o administrador de pantalla. para hacer esto: eval $ (/ usr / bin / gnome-keyring-daemon --start --components = gpg, pkcs11, secrets, ssh) # Probablemente también necesite hacer esto: exportar GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
pOCK
@ edvinas.me El llavero comienza pero aún no mejora
Matteo

Respuestas:

8

smbclient

Puede usar smbclientpara imprimir archivos. Puedo imprimir a través de Samba a una de mis impresoras así:

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

Ejemplo

$ 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

También encontré este ejemplo aquí en un hilo titulado: Impresión Lion Kerberos . Hay 2 métodos

Método # 1 - Impresoras ya instaladas

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

Método # 2 - Agregar impresora

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

En cualquier caso, una vez que haya ejecutado uno de los comandos anteriores, debería poder hacerlo lpr -P PRINTERNAMEdespués de configurar la impresora SMB.

NOTA 1: es posible que pueda agregar nombres de usuario y dominios a la smb://línea si es necesario. Sin embargo, no probé esa instalación. Además, el -U <username>interruptor permite anular su nombre de usuario.

NOTA2: Este método creará una impresora con las credenciales almacenadas en caché, lo que puede no ser lo que desea, pero permitirá lprenviar impresiones a una impresora SMB, solo que sin las credenciales incluidas.

Referencias

slm
fuente
Esto permitirá configurar la autenticación desde la línea de comandos, pero el problema es que al imprimir desde la línea de comandos lprno hay forma de autenticarse. Los trabajos permanecerán atrapados en la cola.
Matteo
@ Matteo - ver actualizaciones.
slm
smbclientFunciona de maravilla. Gracias por la actualización.
Matteo
@Matteo: cambié los métodos para que smbclient sea el primero, ya que esa es realmente la A a su Q, pero dejé los lpadmindetalles en caso de que alguien quiera crear una entrada de impresora SMB más permanente.
slm
¡NOTA! La versión smbclient dada anteriormente imprime asumiendo que el archivo es un archivo de texto. Si imprime un PDF con esto, su impresora arrojará página tras página tras página de código fuente PDF.