Bug 55887 - В Samba не работает аутентификация к общему принтеру клиента Windows без указания имени и пароля в адресе smb:// принтера
Summary: В Samba не работает аутентификация к общему принтеру клиента Windows без указ...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: samba (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-05 17:31 MSK by Artem Varaksa
Modified: 2025-09-05 17:31 MSK (History)
1 user (show)

See Also:


Attachments
Ошибка в CUPS (34.88 KB, image/png)
2025-09-05 17:31 MSK, Artem Varaksa
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Artem Varaksa 2025-09-05 17:31:14 MSK
Шаги
====

1. Развернуть домен Samba DC на ALT Server 11.0 x86_64 (minimal).

Указать в /etc/samba/smb.conf:

[printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    guest ok = yes
    read only = no
    printable = yes

[media]
    comment = media
    browseable = yes
    path = /media
    read only = no
    guest ok = yes

2. Ввести в домен клиентов ALT (с помощью SSSD) и клиента Windows 10 Pro 22H2.

3. Создать на Samba DC пользователя testuser с паролем 123.

4. Настройка принтера на клиенте Windows:

- Войти с помощью доменного пользователя testuser
- Подключить принтер к клиенту Windows
- Для Windows 7:
  - Меню приложений -> Устройста и принтеры
  - ПКМ на принтере -> Свойства принтера
- Для Windows 10:
  - Дождаться уведомления о начале, а затем успешном завершении настройки принтера
  - Пуск > Параметры > Устройства > Принтеры и сканеры
  - Нажать на принтер > Управление > Свойства принтера
- Ввести имя SharePrinter > ОК
- Снова зайти в свойства принтера
  - Примечание: после нажатия ОК на Windows 10 для открытия свойств заново требуется выйти назад и выбрать принтер снова по новому имени
- Перейти на вкладку Доступ
- Дождаться загрузки, нажать Настроить общий доступ
- Ввести логин и пароль администратора домена
- Включить чекбоксы:
  - Общий доступ к данному принтеру
  - Прорисовка заданий на клиентских компьютерах (рекомендуется)
  - Внести в Active Directory
- Имя оставить SharePrinter
- Применить

5. На клиенте ALT:

- Открыть Настройки CUPS (http://localhost:631)
- Администрирование
  - При запросе аутентификации ввести root и его пароль
  - Добавить принтер
  - Windows printer via SAMBA > Продолжить
  - Ввести `smb://<windows-client-ip>/SharePrinter`
  - Название: SharePrinter > Продолжить
  - Выбрать подходящий драйвер (можно воспользоваться поиском по странице Ctrl+F): марку > Продолжить > модель
  - Добавить принтер
- Перейти в Принтеры > SharePrinter
  - Обслуживание > Печать пробной страницы


Фактический результат
=====================

Отображается статус задачи Приостановлено, Session setup failed: NT_STATUS_ACCESS_DENIED (см. скриншот).


Ожидаемый результат
===================

Успешная печать. Возможен запрос аутентификации.


Дополнительно
=============

Если изменить адрес на `smb://testuser:123@<ip windows клиента>/SharePrinter`, то печать успешна.

Аналогичное поведение наблюдается и с `smbspool`:

> # smbspool smb://<windows-client-ip>/SharePrinter testjob testuser 1 1 <(echo qa)
> kerberos_ccache_is_valid: Failed to get default principal from ccache: KEYRING:persistent:0
> DEBUG: This backend requires credentials!
> DEBUG: get_exit_code(nt_status=NT_STATUS_ACCESS_DENIED [c0000022])
> ATTR: auth-info-required=samba
> DEBUG: Unable to connect to CIFS host: NT_STATUS_ACCESS_DENIED

> # echo 123 | kinit testuser && smbspool smb://<windows-client-ip>/SharePrinter testjob testuser 1 1 <(echo qa)
> Password for testuser@SAMBA.TESTDOMAIN:
> DEBUG: Try to authenticate as testuser@SAMBA.TESTDOMAIN
> ERROR: Session setup failed: NT_STATUS_INVALID_PARAMETER
> ERROR: Session setup failed: NT_STATUS_LOGON_FAILURE
> ERROR: Session setup failed: NT_STATUS_ACCESS_DENIED
> DEBUG: get_exit_code(nt_status=NT_STATUS_ACCESS_DENIED [c0000022])
> ATTR: auth-info-required=negotiate
> DEBUG: Unable to connect to CIFS host: NT_STATUS_ACCESS_DENIED

> # smbspool smb://testuser:123@<windows-client-ip>/SharePrinter testjob testuser 1 1 <(echo qa)
> DEBUG: Try to connect using username/password ...
> DEBUG: SMB connection established.

Также см.:
- https://bugzilla.altlinux.org/41129
- https://bugzilla.samba.org/show_bug.cgi?id=15057
- https://bbs.archlinux.org/viewtopic.php?id=245658


Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[sisyphus]
samba-4.21.7-alt4.x86_64
cups-2.4.12-alt2.x86_64
sssd-2.9.7-alt3.x86_64

[p11+387440.10]
samba-4.21.7-alt4.x86_64
cups-2.4.12-alt2.x86_64
sssd-2.9.7-alt3.x86_64

[p11]
samba-4.20.8-alt2.x86_64
cups-2.4.12-alt2.x86_64
sssd-2.9.7-alt1.x86_64
Comment 1 Artem Varaksa 2025-09-05 17:31:42 MSK
Created attachment 19493 [details]
Ошибка в CUPS