Печать из командной строки на принтере Samba, требующем аутентификации

9

Есть ли способ печати на принтере Samba, требующий аутентификации, путем предоставления учетных данных в командной строке (например, с помощью lpr)?

Мне удалось сохранить учетные данные в GNOME Keyring, и когда я вошел в систему с сеансом рабочего стола, я могу распечатать lpr.

Есть ли способ либо:

  • предоставить полномочия lpr
  • проверять подлинность заданий в очереди

при входе в систему удаленно (SSH)?

редактировать

Я знаю, что можно сохранить набор учетных данных для всех пользователей (непосредственно в CUPS в URI принтера), но нам нужно, чтобы каждый пользователь проходил аутентификацию со своими учетными данными.

Matteo
источник
Это не притапка?
mikeserv
@mikeserv printcap что делать?
Маттео
Вы можете начать набор ключей без гнома или диспетчера отображения. сделать это: Eval $ (/ USR / бен / гном-брелок-демон --start --components = GPG, PKCS11, секреты, SSH) # Вы , вероятно , нужно сделать это тоже: экспорт GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
phoops
@ edvinas.me Брелок для ключей запускается, но улучшения по-прежнему нет
Маттео

Ответы:

8

smbclient

Вы можете использовать smbclientдля печати файлов. Я могу печатать через Samba на одном из моих принтеров следующим образом:

$ 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 printing . Есть 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, только без учетных данных.

Ссылки

SLM
источник
Это позволит настроить аутентификацию из командной строки, но проблема в том, что при печати из командной строки lprнет способа аутентификации. Задания просто останутся в очереди.
Маттео
@Matteo - смотрите обновления.
SLM
smbclientработает как шарм. Спасибо за обновления.
Маттео
@Matteo - я перевернул методы так, чтобы smbclient занял 1-е место, поскольку это действительно буква A для вашего Q, но оставил lpadminдетали на случай, если кто-то захочет создать более постоянную запись для принтера SMB.
SLM
НОТА! Версия smbclient, приведенная выше, печатает, предполагая, что файл является текстовым файлом. Если вы распечатаете PDF-файл с этим, ваш принтер будет выдавать исходный код PDF страница за страницей.