Вопрос или проблема
Обновился до последней версии на 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).
Решения
Чтобы устранить проблему с доступом, вы можете рассмотреть следующие варианты:
-
Изменение прав доступа на файл 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
и зададут необходимые права доступа. -
Запуск winbindd с правами пользователя, у которого есть доступ к ключевому файлу:
Если это возможно, вы можете рассмотреть возможность запуска
winbindd
с правами пользователя, у которого есть доступ кkrb5.keytab
. Однако этот подход может привести к снижению безопасности. -
Анализ конфигурации Samba и Winbind:
Убедитесь, что ваша конфигурация в файле
/etc/samba/smb.conf
настроена корректно, особенно в разделах, касающихсяwinbind
. Проверьте параметрыwinbind use default domain
иidmap config
, чтобы убедиться, что они соответствуют вашей инфраструктуре.
Заключение
Проблема аутентификации доменных пользователей с использованием sudo
на Ubuntu 24.04.1 с установленным Samba AD-DC может быть вызвана недостаточными правами доступа к файлу krb5.keytab
. Следуя указанным рекомендациям, вы сможете восстановить нормальную работу системы аутентификации. Если проблемы продолжаются, рекомендуется проверить логи и конфигурации на предмет других возможных ошибок. Обязательно выполните резервное копирование текущих конфигураций перед внесением изменений.