Samba AD-DC и sudo с паролем

Вопрос или проблема

Обновился до последней версии на Ubuntu 24.04.1:samba-ad-dc/noble,noble,теперь 2:4.19.5+dfsg-4ubuntu9. Теперь я не могу выполнить аутентификацию по паролю для участника группы sudo, если он также является пользователем домена, в то время как nsswitch.conf настроен на использование winbind.

В auth.log я получаю:

pam_krb5(sudo:auth): ошибка аутентификации; logname=DOMAIN\user uid=xxxxxx euid=0 tty=/dev/pts/2 ruser=DOMAIN\user rhost=
pam_unix(sudo:auth): диалог не удался
pam_unix(sudo:auth): auth не смог распознать пароль для [DOMAIN\user]

в log.DOMAINwb:

auth/gensec/gensec_start.c:844(gensec_start_mech)
Запуск механизма GENSEC gse_krb5
source3/librpc/crypto/gse_krb5.c:425(fill_mem_keytab_from_system_keytab)
source3/librpc/crypto/gse_krb5.c:425: krb5_kt_start_seq_get не удался (Доступ запрещен)

Нет доступа к чтению файла для winbindd для системного keytab/etc/krb5.keytab

Я могу добавить, что нет случаев DENIED в apparmor.

ps -aux показывает:

root 5101 0.0 0.3 169692 63488 ? Ss 13:22 0:01 /usr/sbin/winbindd -D --option=server role check:inhibit=yes --foreground

В то время как в LOG:

source3/librpc/crypto/gse_krb5.c:425: krb5_kt_start_seq_get не удался (Доступ запрещен)

и ls -l показывает:

-rw------- 1 root root 6917 Nov 1 16:32 /etc/krb5.keytab

Пользователя winbind или samba нет, и я предположил, что samba-ad-dc запускается от имени root, который имеет права на чтение и запись к файлу keytab. Можно было бы добавить доступ группы к keytab, если бы кто-то знал, кто запускает подпроцесс AD-DC winbindd для чтения keytab в кеш.

Это происходит только в системе AD-DC. Все остальные серверы успешно выполняют аутентификацию по паролю для sudo.

Ответ или решение

Проблема с аутентификацией пользователей Samba AD-DC при использовании sudo

Введение

В последней версии Ubuntu 24.04.1 установлена Samba AD-DC (версия 4.19.5), однако возникает проблема с аутентификацией членов группы sudo, которые также являются доменными пользователями. В этом документе будет произведён анализ проблемы с аутентификацией и решений, которые помогут устранить её причины.

Описание проблемы

При использовании команды sudo для доменного пользователя в логах системы возникает ошибка:

pam_krb5(sudo:auth): authentication failure; logname=DOMAIN\user uid=xxxxxx euid=0 tty=/dev/pts/2 ruser=DOMAIN\user rhost=
pam_unix(sudo:auth): conversation failed
pam_unix(sudo:auth): auth could not identify password for [DOMAIN\user]

В дополнительных логах log.DOMAINwb фиксируется следующая проблема:

krb5_kt_start_seq_get failed (Permission denied)

Причина проблемы

Основная проблема заключается в том, что процесс winbindd, который отвечает за интеграцию доменных пользователей в систему, не имеет доступа к системному ключевому табличному файлу /etc/krb5.keytab. В результате этого возникает ошибка аутентификации. Проверка прав доступа к файлу показывает, что для него установлены следующие права:

-rw------- 1 root root 6917 Nov 1 16:32 /etc/krb5.keytab

Это значит, что файл доступен только для пользователя root, а winbindd, скорее всего, запущен от имени пользователя, который не имеет прав на доступ к этому файлу (такого как пользователь samba или winbind).

Решения

Чтобы устранить проблему с доступом, вы можете рассмотреть следующие варианты:

  1. Изменение прав доступа на файл krb5.keytab:

    Исходя из структуры прав доступа, вы можете добавить группу, в которой будет находиться пользователь winbindd. Например, вы можете создать группу sambashare и добавить необходимого пользователя в эту группу:

    sudo groupadd sambashare
    sudo usermod -aG sambashare winbind
    sudo chown root:sambashare /etc/krb5.keytab
    sudo chmod 640 /etc/krb5.keytab

    Данные команды изменят группу файла на sambashare и зададут необходимые права доступа.

  2. Запуск winbindd с правами пользователя, у которого есть доступ к ключевому файлу:

    Если это возможно, вы можете рассмотреть возможность запуска winbindd с правами пользователя, у которого есть доступ к krb5.keytab. Однако этот подход может привести к снижению безопасности.

  3. Анализ конфигурации Samba и Winbind:

    Убедитесь, что ваша конфигурация в файле /etc/samba/smb.conf настроена корректно, особенно в разделах, касающихся winbind. Проверьте параметры winbind use default domain и idmap config, чтобы убедиться, что они соответствуют вашей инфраструктуре.

Заключение

Проблема аутентификации доменных пользователей с использованием sudo на Ubuntu 24.04.1 с установленным Samba AD-DC может быть вызвана недостаточными правами доступа к файлу krb5.keytab. Следуя указанным рекомендациям, вы сможете восстановить нормальную работу системы аутентификации. Если проблемы продолжаются, рекомендуется проверить логи и конфигурации на предмет других возможных ошибок. Обязательно выполните резервное копирование текущих конфигураций перед внесением изменений.

Оцените материал
Добавить комментарий

Капча загружается...