Вопрос или проблема
Платформа: RHEL 5.10
Версия: Samba 3.6.6-0.136
Только на одной виртуальной машине один из моих коллег может войти в систему, используя свои учетные данные AD, без проблем, тогда как моя учетная запись, похоже, имеет проблемы с поиском информации о пользователе:
[root@ncxxxlwb05 ~]# wbinfo -i myDom.mjplakus
XXX.mjplakus:*:16777224:16777229::/home/XXX/mjplakus:/bin/bash
[root@ncxxxlwb05 ~]# wbinfo -i myDom.jadavis6
не удалось вызвать wbcGetpwnam: WBC_ERR_DOMAIN_NOT_FOUND
Не удалось получить информацию для пользователя xxx.jadavis6
Полагая, что winbind мог кэшировать отрицательный ответ (например, AD не был доступен, когда ему нужно было обновить свой кэш для моей учетной записи), я установил winbind cache time
и idmap negative cache time
на 1 секунду, но получил те же результаты. Те же результаты с вышеупомянутыми значениями кэша и выполнением net cache flush
несколько раз.
Я не нашел ничего в /var/log/samba/*
при обычных уровнях отладки, поэтому я установил debug level = 8
и это начало выводиться в логи, когда я пытался разрешить мое имя:
[2013/12/05 14:21:59.795061, 3] winbindd/winbindd_getpwnam.c:56(winbindd_getpwnam_send)
getpwnam myDom.jadavis6
[2013/12/05 14:21:59.795161, 1] ../librpc/ndr/ndr.c:414(ndr_pull_error)
ndr_pull_error(13): значение вне диапазона
[2013/12/05 14:21:59.795219, 5] winbindd/winbindd_getpwnam.c:137(winbindd_getpwnam_recv)
Не удалось преобразовать sid S-1-5-21-652622394-3291385539-1351089441-10771: NT_STATUS_INVALID_PARAMETER
[2013/12/05 14:21:59.795391, 6] winbindd/winbindd.c:869(winbind_client_request_read)
закрытие сокета 29, клиент вышел
Это, похоже, содержит саму проблему, но я не знаю, как понять ошибку и хотел бы получить руководство по этому поводу. Кажется, что по какой-то причине ему не нравится SID, связанный с моей учетной записью AD, но я не знаю, почему или как это обойти.
Я присутствую в домене активного каталога, на который ссылаются, но по какой-то причине он не может извлечь информацию только для моей учетной записи.
На сервере AD есть домены BUILTIN, и по умолчанию требуется бэкенд ‘tdb’ и диапазон “*”, чтобы сопоставлять пользователей, не включенных в другие сопоставленные домены. Отсутствие этого бэкэнда все равно вызывает ошибку сопоставления, даже если сопоставляемый пользователь не включен в этот диапазон.
Проверьте эту ссылку:
https://access.redhat.com/solutions/338723
Ответ или решение
Проблема, с которой вы столкнулись, связана с ошибкой WBC_ERR_DOMAIN_NOT_FOUND, возникающей при попытке получить информацию о пользователе из Active Directory (AD) с использованием Samba на платформе RHEL 5.10. Давайте рассмотрим возможные причины и пути решения данной проблемы.
Контекст проблемы
На вашем виртуальном сервере (VM) удачно осуществляется вход в систему с использованием учетных данных одного из сотрудников, тогда как для вашей учетной записи возникает ошибка WBC_ERR_DOMAIN_NOT_FOUND. При выполнении команды wbinfo -i
были получены разные результаты для ваших учетных записей. Одной из ключевых строк из журнала является:
Could not convert sid S-1-5-21-652622394-3291385539-1351089441-10771: NT_STATUS_INVALID_PARAMETER
Это указывает на проблемы, связанные с SID (Security Identifier) вашей учетной записи, возникновение которых может быть связано как с конфигурацией Samba, так и с самой Active Directory.
Потенциальные причины
-
Неправильные настройки Samba: Параметры конфигурации Samba могут не поддерживать вашу учетную запись или ее SID.
-
Ошибки синхронизации: Вашу учетную запись могли неправильно сконфигурировать или удалить в AD, в результате чего ваша учетная запись не распознается.
-
Кэширование неверных данных: Хотя вы настроили кэш для winbind и сбросили кэш, может возникнуть другая проблема, связанная с кэшированием данных в других компонентах или самим AD.
-
Блокировка SID в Active Directory: Возможно, существуют ограничения в AD, которые блокируют доступ к определенным SID, связанным с вашей учетной записью.
Шаги по устранению проблемы
-
Проверка настроек Samba:
- Убедитесь, что конфигурационный файл Samba (
smb.conf
) настроен корректно, особенно секции, касающиесяwinbind
. Проверьте следующие параметры:winbind use default domain = yes winbind offline logon = yes
- Убедитесь, что конфигурационный файл Samba (
-
Проверка конфигурации Active Directory:
- Войдите в AD и проверьте, имеется ли ваша учетная запись в нужной группе и правильно ли настроены атрибуты.
- Убедитесь, что SID вашей учетной записи существует и надлежащим образом синхронизирован.
-
Регистрация и просмотр логов:
- Убедитесь, что уровень ведения журналов в Samba достаточен для выявления причин ошибки. Вы уже установили
debug level = 8
, это отлично. Изучайте журналы на наличие других связанных сообщений. - Обратите внимание на блокировки и ограничения в AD.
- Убедитесь, что уровень ведения журналов в Samba достаточен для выявления причин ошибки. Вы уже установили
-
Тест работы с kinit и getent:
- Проверьте работу механизма аутентификации с помощью команд:
kinit мои_учетные_данные getent passwd myDom.jadavis6
- Это поможет понять, происходит ли проблема на уровне Kerberos или на уровне winbind.
- Проверьте работу механизма аутентификации с помощью команд:
-
Обратитесь к документации Red Hat:
- Ссылка, размещенная в вашем материале, указывает на возможные проблемы с обработкой SID и пользовательскими маппингами. Убедитесь, что все необходимые компоненты инсталлированы и правильно сконфигурированы.
Заключение
Ошибки, подобные WBC_ERR_DOMAIN_NOT_FOUND, могут быть вызваны множеством факторов. Работа с учетной записью в Active Directory требует внимательного подхода к настройке и диагностике. Если после выполнения предложенных шагов проблема сохраняется, возможно, стоит обратиться за технической поддержкой к вашему системному администратору или в службу поддержки Samba для более глубокого анализа ситуации.