Описание: Дистрибутив: Альт Сервер 10.2 Выполнено обновление системы и ядра; Развернут домен test.alt на базе Samba AD. DNS: внутренний (Samba_internal) Использовалась следующая инструкция при развертывании: https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/install-package.html После, согласно официальной документации, была выполнена настройка аутентификации доменных пользователей на DC (sssd) https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/domain-controller-login.html На этапе генерации keytab-файла https://docs.altlinux.org/ru-RU/domain/10.2/html/samba/ch04s08s03.html Выводится следующая ошибка (вне зависимости от того, был ли получен билет админинстратора домена или нет), однако сам Keytab файл создается: [root@altsrv2 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@TEST.ALT Valid starting Expires Service principal 01.09.2024 21:22:14 02.09.2024 07:22:14 krbtgt/TEST.ALT@TEST.ALT renew until 02.09.2024 21:22:11 [root@altsrv2 ~]# net ads keytab create kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database [root@altsrv2 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@TEST.ALT Valid starting Expires Service principal 01.09.2024 21:22:14 02.09.2024 07:22:14 krbtgt/TEST.ALT@TEST.ALT renew until 02.09.2024 21:22:11 [root@altsrv2 ~]# ls -l /etc/krb5.keytab -rw-r----- 1 root _keytab 2668 сен 1 21:23 /etc/krb5.keytab [root@altsrv2 ~]# Данная ошибка не влияет на возможность аутентификации доменных пользователей на DC, то есть аутентификация происходит корректно, однако в связи с чем выводится данная ошибка при создании keytab файла? Описанная ситуация возникает, начиная с версии task-samba-dc-4.15.9, до настоящего момента, то есть до версии task-samba-dc-4.19.7. Ранее, в версиях task-samba-dc-4.14.10 и krb5-<...>-1.19.2-alt1, при получении билета через kinit administrator, создание Keytab файла происходило корректно (без вывода указанной ошибки), однако если билет заранее не был получен и выполнялась следующая команда: net ads keytab create -UAdministrator, то начинали выводиться ранее указанные ошибки и создание файла не происходило. Предполагаю, что проблема именно в пакете samba.
Основная информация о системе: [root@altsrv2 ~]# uname -a Linux altsrv2.test.alt 5.10.224-std-def-alt1 #1 SMP Fri Aug 23 15:50:44 UTC 2024 x86_64 GNU/Linux [root@altsrv2 ~]# [root@altsrv2 ~]# cat /etc/os-release NAME="ALT Server" VERSION="10.2" ID=altlinux VERSION_ID=10.2 PRETTY_NAME="ALT Server 10.2 (Mendelevium)" ANSI_COLOR="1;33" CPE_NAME="cpe:/o:alt:server:10.2" BUILD_ID="ALT Server 10.1" HOME_URL="https://basealt.ru/" BUG_REPORT_URL="https://bugs.altlinux.org/" Информация о домене и конфиг. файлы: [root@altsrv2 ~]# samba-tool domain level show Domain and forest function level for domain 'DC=test,DC=alt' Forest function level: (Windows) 2008 R2 Domain function level: (Windows) 2008 R2 Lowest function level of a DC: (Windows) 2008 R2 root@altsrv2 ~]# rpm -qa | grep task-samba task-samba-dc-4.19.7-alt4.noarch [root@altsrv2 ~]# rpm -qa | grep krb5 libkrb5-ldap-1.19.4-alt3.x86_64 krb5-kinit-1.19.4-alt3.x86_64 krb5-ticket-watcher-1.0.3-alt23.x86_64 pam_krb5-4.8-alt1.x86_64 krb5-kadmin-1.19.4-alt3.x86_64 krb5-kdc-1.19.4-alt3.x86_64 libkrb5-1.19.4-alt3.x86_64 sssd-krb5-common-2.9.4-alt1.x86_64 [root@altsrv2 ~]# cat /etc/samba/smb.conf # Global parameters [global] dns forwarder = 8.8.8.8 netbios name = ALTSRV2 realm = TEST.ALT server role = active directory domain controller workgroup = TEST idmap_ldb:use rfc2307 = yes template shell = /bin/bash template homedir = /home/TEST.ALT/%U kerberos method = system keytab wins support = no winbind use default domain = yes winbind enum users = no winbind enum groups = no winbind refresh tickets = yes winbind offline logon = yes idmap config * : range = 200000-2000200000 idmap config * : backend = sss [sysvol] path = /var/lib/samba/sysvol read only = No [netlogon] path = /var/lib/samba/sysvol/test.alt/scripts read only = No [root@altsrv2 ~]# cat /etc/krb5.conf includedir /etc/krb5.conf.d/ [logging] [libdefaults] dns_lookup_kdc = true dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = TEST.ALT [realms] [domain_realm] [root@altsrv2 ~]#
Дополнительно: Были протестированы различные версии пакетов samba и krb5, начиная с: task-samba-dc-4.14.10 krb5-<...>-1.19.2-alt1 Путем установки Альт Сервер 10.0 в минимальной конфигурации, развертывания домена и поэтапного dist-upgrade на архивные версии. Было выявлено следующее: 1. Если версии пакетов task-samba-dc-4.14.10 и krb5-<...>-1.19.2-alt1 (apt-repo add p10 20211210), то при различных вариантах создания Keytab файла выводится одно кол-во ошибок: [root@dc0 ~]# klist klist: No credentials cache found (filename: /tmp/krb5cc_0) [root@dc0 ~]# [root@dc0 ~]# net ads keytab create Enter root's password: kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database [root@dc0 ~]# ls -l /etc/k kernel/ keys/ krb5.conf krb5.conf.d/ [root@dc0 ~]# [root@dc0 ~]# net ads keytab create -U Administrator Enter Administrator's password: kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database [root@dc0 ~]# [root@dc0 ~]# ls -l /etc/k kernel/ keys/ krb5.conf krb5.conf.d/ [root@dc0 ~]# net ads keytab create -Uadministrator@TEST.ALT Enter administrator@TEST.ALT's password: kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database [root@dc0 ~]# ls -l /etc/k kernel/ keys/ krb5.conf krb5.conf.d/ [root@dc0 ~]# [root@dc0 ~]# [root@dc0 ~]# kinit Administrator Password for Administrator@TEST.ALT: Warning: Your password will expire in 41 days on Вс 13 окт 2024 15:49:14 [root@dc0 ~]# [root@dc0 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@TEST.ALT Valid starting Expires Service principal 01.09.2024 15:58:10 02.09.2024 01:58:10 krbtgt/TEST.ALT@TEST.ALT renew until 02.09.2024 15:58:07 [root@dc0 ~]# [root@dc0 ~]# net ads keytab create [root@dc0 ~]# [root@dc0 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@TEST.ALT Valid starting Expires Service principal 01.09.2024 15:58:10 02.09.2024 01:58:10 krbtgt/TEST.ALT@TEST.ALT renew until 02.09.2024 15:58:07 01.09.2024 15:58:20 02.09.2024 01:58:10 ldap/dc0.test.alt@TEST.ALT renew until 02.09.2024 15:58:07 [root@dc0 ~]# [root@dc0 ~]# ls /etc/k kernel/ keys/ krb5.conf krb5.conf.d/ krb5.keytab [root@dc0 ~]# Отмечено следующее: При получении билета через kinit administrator, создание Keytab файла происходит корректно. Если билет заранее не получен и выполняется следующая команда: net ads keytab create -UAdministrator, то выводятся ранее указанные ошибки и создание файла не происходит. 2. Если версии пакетов task-samba-dc-4.14.12 и krb5-<...>-1.19.3-alt1 (apt-repo add p10 20220319) - ошибки те же 3. Если версии пакетов task-samba-dc-4.15.9 и krb5-<...>-1.19.3-alt1 (apt-repo add p10 20220816), то выявлено следующее: - вне зависимости от того, был ли ранее получен билет administrator-а или нет, создание keytab файла выполняется, однако при любых вариантах выводится в n-ом кол-ве ранее указанная ошибка. [root@dc0 ~]# klist klist: No credentials cache found (filename: /tmp/krb5cc_0) [root@dc0 ~]# net ads keytab create kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database [root@dc0 ~]# ls /etc/k kernel/ keys/ krb5.conf krb5.conf.d/ krb5.keytab [root@dc0 ~]# net ads keytab create -UAdministrator Password for [TEST\Administrator]: kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database [root@dc0 ~]# [root@dc0 ~]# rm /etc/krb5.keytab rm: удалить обычный файл '/etc/krb5.keytab'? y [root@dc0 ~]# kinit Administrator Password for Administrator@TEST.ALT: Warning: Your password will expire in 41 days on Вс 13 окт 2024 15:49:14 [root@dc0 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: Administrator@TEST.ALT Valid starting Expires Service principal 01.09.2024 20:03:52 02.09.2024 06:03:52 krbtgt/TEST.ALT@TEST.ALT renew until 02.09.2024 20:03:49 [root@dc0 ~]# net ads keytab create kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database [root@dc0 ~]# ls /etc/k kernel/ keys/ krb5.conf krb5.conf.d/ krb5.keytab [root@dc0 ~]# [root@dc0 ~]# rpm -qa | grep task-samba task-samba-dc-4.15.9-alt1.noarch [root@dc0 ~]# rpm -qa | grep krb5 libkrb5-1.19.3-alt1.x86_64 krb5-kinit-1.19.3-alt1.x86_64 Описанная ситуация возникает, начиная с версии task-samba-dc-4.15.9, до настоящего момента, то есть до версии task-samba-dc-4.19.7. Предполагаю, что проблема именно в пакете samba.
(Ответ для paulina.poidenko на комментарий #2) > [root@dc0 ~]# net ads keytab create > kerberos_kinit_password TEST@TEST.ALT failed: Client not found in Kerberos database Актуально для версии samba 4.19.9-alt1