Bug 45948

Summary: Невозможно выполнить печать через Windows printer via SAMBA в cups
Product: Sisyphus Reporter: Монастырский Илья <monastirskiyii>
Component: cupsAssignee: Andrey Cherepanov <cas>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: george, glinkinvd, rider
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=41129
Attachments:
Description Flags
логи ошибки
none
Логи ошибки с включенной отладкой none

Description Монастырский Илья 2023-04-24 18:47:40 MSK
Created attachment 13012 [details]
логи ошибки

Версия пакета: 
cups-2.4.2-alt2

Стенды: 
dc.samba.testdomain - Alt Server 10.1 x86-64
Клиент на windows7, введённый в домен
Клиент на Alt Workstation 10.1 x86-64 (обновлён до Sisyphus), введён в домен
Клиент на Alt Kworkstation 10.1 x86-64 (обновлён до Sisyphus), введён в домен
Клиент на Alt Education 10.1 x86-64 (обновлён до Sisyphus), введён в домен

Принтеры:
Kyocera ECOSYS M2040dn
Pantum CM1100ADW

Шаги воспроизведения: 
1) Подключить принтер к windows7
2) Пуск - Устройства и принтеры, ПКМ на подключенный принтер и открыть "Свойства принтера"
3) Во вкладке "Доступ" поставить галочки на "Общий доступ к данному принтеру", "Прорисовка заданий на клиентских компьютерах" и "Внести в Active Directory", а также задать принтеру сетевое имя (например KyoShare)
4) На клиенте проверить, что принтер отображается в списке:
# smbclient -U user1 -L <ip принтера>
5) На клиенте запустить cups, залогиниться доменным пользователем, во вкладке "Администрирование нажать "Добавить принтер"
6) Выбрать "Windows Printer via SAMBA", ввести адрес вида FQDN (smb://WIND.samba.testdomain/KyoShare), выбрать необходимый драйвер, сохранить
7) На вкладке "Принтеры" выбрать созданный принтер и нажать "Печать пробной страницы"

Результат: Печать не осуществляется

Ожидаемый результат: Печать успешно осуществляется. В логах cups ошибка:
Backend returned status 2 (authentication required)

==============================================================================
Дополнительно: 
Если настроить аутентификацию в /etc/cups/printers.conf:
AuthInfoRequired negotiate
OpPolicy default
Пример:
# Printer configuration file for CUPS v2.4.2
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
NextPrinterId 6
<DefaultPrinter MS>
PrinterId 3
UUID urn:uuid:5ca34ece-de8a-3d7e-731a-b37f8d663328
AuthInfoRequired negotiate
Info Windows printer
Location 
MakeModel Generic PCL 6 Printer wide margin - CUPS+Gutenprint v5.3.4
DeviceURI smb://windows7.test.alt/MyPrinter1
State Idle
StateTime 1681809434
ConfigTime 1681726208
Type 4180
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</DefaultPrinter>

Ошибка воспроизводится и никуда не пропадает

upd1: Ошибка также воспроизводится, если в cups перейти во вкладку "Администрирование" и поставить галочку напротив "Разрешить аутентификацию Kerberos" (или командой cupsctl DefaultAuthType=Negotiate)


upd2: Через kde5-print-manager печать осуществляется успешно
Comment 1 Монастырский Илья 2023-04-24 18:48:55 MSK
Created attachment 13013 [details]
Логи ошибки с включенной отладкой
Comment 2 Vladislav Glinkin 2024-10-24 13:48:14 MSK
Посмотрел поведение на Workstation K 11.0 (обновлённая до Sisyphus) с cups-2.4.11-alt1.x86_64

Похоже на то, что настройка в принципе была выполнена неправильно. По предложенным шагам URI имеет вид: smb://WIND.samba.testdomain/KyoShare

Для корректной работы при настройке через веб-интерфейс cups, URI должен иметь следующий вид:
smb://имя_пользователя:пароль@имя_хоста/имя_принтера

В качестве имя хоста можно использовать IP-адрес, FQDN, или short hostname.
В таком случае печать будет будет работать.

Данную ошибку закрываю.