Bug 55687

Summary: alterator-auth: Ошибки gensec_gse_client_prepare_ccache/kinit при введении клиента в домен Samba DC с BIND9_DLZ DNS
Product: Sisyphus Reporter: Artem Varaksa <varaksaaa>
Component: alterator-authAssignee: Anton V. Boyarshinov <boyarsh>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: boyarsh, liannnix, sin
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
examples.md none

Description Artem Varaksa 2025-08-21 19:00:49 MSK
Created attachment 19399 [details]
examples.md

Шаги
====

1. Развернуть Samba DC с BIND9_DLZ DNS (ALT Server 11.0 x86_64 minimal) и реплику к нему.

2. Ввести клиентов с помощью команды вида:

# system-auth write ad "SAMBA.TESTDOMAIN" "client" "SAMBA" "Administrator" "Pa##word" --winbind


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

Часто (~3/4 случаев), но не всегда, в выводе `system-auth` выводится ошибка.

Вид ошибки:

(1) (stdout) kinit: Client 'CLIENT$@SAMBA.TESTDOMAIN' not found in Kerberos database while getting initial credentials

или (может быть как для `ldap/dc.samba.testdomain`, так и `ldap/dc2.samba.testdomain`):

(2) (stderr) gensec_gse_client_prepare_ccache: Kinit for CLIENT$@samba.testdomain to access ldap/dc2.samba.testdomain failed: Client not found in Kerberos database: NT_STATUS_LOGON_FAILURE



При этом, когда ошибка (2) (stderr), часто всё равно есть вывод:

> (stderr) Successfully registered hostname with DNS

и выполнение `system-auth` завершается успешно, несмотря на ошибки kinit.


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

Нет ошибок. Успешная регистрация hostname в DNS.


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

Воспроизводится только в связке bind9_dlz + winbind. С internal dns + sssd, internal dns + winbind и bind9_dlz + sssd такой проблемы не наблюдалось.

В p11 воспроизводился только (1) (stdout) вид ошибки - возможно, что-то поменялось в p11+387440.10 / sisyphus.


Подробные примеры см. в прикреплённом файле `examples.md`:

* Пример 1 (p11+387440.10 / sisyphus): (2) gensec dc2            , success
* Пример 2 (p11+387440.10 / sisyphus): (2) gensec dc             , success
* Пример 3 (p11+387440.10 / sisyphus): (2) gensec dc2 + (1) kinit, fail
* Пример 4 (p11                     ):                  (1) kinit, fail


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

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

[sisyphus]
alterator-auth-0.48-alt1.x86_64
samba-4.21.7-alt4.x86_64

[p11+387440.10]
alterator-auth-0.48-alt1.x86_64
samba-4.21.7-alt4.x86_64


На виртуальных машинах p11 ошибка в целом воспроизводится, но поведение отличается - см. выше в разделе Дополнительно.

[p11]
alterator-auth-0.45-alt1.x86_64
samba-4.20.8-alt2.x86_64
Comment 1 Evgeny Sinelnikov 2025-08-29 11:40:06 MSK
Данное поведение вполне возможно связано с неполнотой и скриптовой природой system-auth. Причина в синхпонизации и несогласованности данных на разных КД в момент сразу после join'а. Возможно, в кешах плагина bind_dlz.
Comment 2 Artem Varaksa 2025-10-30 16:05:22 MSK
Наблюдаю аналогичное поведение и с SSSD, т. е. проблема не специфична для Winbind.

[p11]
samba-4.21.7-alt4
alterator-auth-0.48-alt1.x86_64

[p11+394751]
samba-4.21.9-alt1
alterator-auth-0.48-alt1.x86_64