Impressão de linha de comando com uma impressora Samba que requer autenticação

9

Existe uma maneira de imprimir em uma impressora Samba que requer autenticação, fornecendo as credenciais na linha de comando (por exemplo, com lpr)?

Consegui armazenar as credenciais no GNOME Keyring e, quando estou conectado a uma sessão da área de trabalho, posso imprimir lpr.

Existe uma maneira de:

  • fornecer as credenciais para lpr
  • autenticar os trabalhos na fila

ao efetuar login remotamente (SSH)?

Editar

Sei que é possível armazenar um conjunto de credenciais para todos os usuários (diretamente no CUPS no URI da impressora), mas precisamos que cada usuário se autentique com suas próprias credenciais.

Matteo
fonte
Não ue pritcap?
mikeserv
@mikeserv printcap para fazer o que?
Matteo
você pode iniciar o chaveiro sem o gnome ou o gerenciador de exibição. para fazer isso: eval $ (/ usr / bin / gnome-keyring-daemon --start --components = gpg, pkcs11, secrets, ssh) # Você provavelmente também precisará fazer isso: exportar GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
phoops
@ edvinas.me O chaveiro é iniciada, mas ainda nenhuma melhoria
Matteo

Respostas:

8

smbclient

Você pode usar smbclientpara imprimir arquivos. Sou capaz de imprimir via Samba para uma das minhas impressoras da seguinte forma:

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

Exemplo

$ 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

Também encontrei este exemplo aqui em um tópico intitulado: Lion Kerberos printing . Existem 2 métodos.

Método # 1 - Impressoras já instaladas

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

Método 2 - Adicionando impressora

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

Em qualquer um dos casos, depois de executar um dos comandos acima, você poderá executar lpr -P PRINTERNAMEapós configurar a impressora SMB.

NOTA1: Você poderá adicionar nomes de usuário e domínios à smb://linha, se necessário. Eu não testei essa instalação no entanto. Além disso, a -U <username>opção permite substituir seu nome de usuário.

NOTA2: Este método criará uma impressora com as credenciais armazenadas em cache, o que pode não ser o que você deseja, mas permitirá lprenviar impressões para uma impressora SMB, apenas sem as credenciais incluídas.

Referências

slm
fonte
Isso permitirá configurar a autenticação na linha de comando, mas o problema é que, ao imprimir a partir da linha de comando lpr, não há como autenticar. Os trabalhos permanecerão presos na fila.
Matteo
@ Matteo - veja as atualizações.
slm
smbclientFunciona como um encanto. Obrigado pela atualização.
Matteo
@ Matteo - Eu virei os métodos para que o smbclient seja o primeiro, já que esse é realmente o A do seu Q, mas deixei os lpadmindetalhes caso alguém queira criar uma entrada de impressora SMB mais permanente.
slm
NOTA! A versão do smbclient fornecida acima é impressa, assumindo que o arquivo é um arquivo de texto. Se você imprimir um PDF com isso, sua impressora exibirá página após página após página do código-fonte PDF.