Устранение неполадок участников домена Samba

Материал из ALT Linux Wiki

Устранение неполадок участников домена Samba

Общее

Настройка уровня логов Samba

Первым делом настройте уровень логов Samba.

Команде net не удается подключиться по адресу 127.0.0.1

Используя настройки по-умолчанию, команда net подключается к адресу 127.0.0.1. Если Samba не слушает петлевой интерфейс, подключение не удастся. Например:

# net rpc rights list -U administrator
Enter administrator's password:
Could not connect to server 127.0.0.1
Connection failed: NT_STATUS_CONNECTION_REFUSED

Для решения данной проблемы, настройте Samba на дополнительное прослушивание петлевого интерфейса. Для подробностей см. Configure Samba to Bind to Specific Interfaces.

В качестве временного решения проблемы, можно использовать ключ -I IP_address или -S host_name после команды net.

getent не находит доменных пользователей и групп

Вы выполняете getent passwd или же getent group? Использование этих команд без параметров winbind enum users = yes и winbind enum groups = yes в файле smb.conf не будет отображать пользователей и группы домена. Добавление строк имеет обратную сторону, оно замедляет работу, и чем больше у вас пользователей и групп, тем медленнее могут работать команды, поэтому вам следует добавлять эти строки только в целях тестирования.

Если

getent passwd demo01

ничего не возвращает, попробуйте ввести:

getent passwd "SAMDOM\demo01"

если данная команда работает, а первая нет, вам может потребоваться добавить следующую строку в файл smb.conf

winbind use default domain = yes

Участник леса домена в лесу ActiveDirectory

Устранение неполадок при вводе в домен

Домен DNS не настроен. Не удается выполнить обновление DNS. (No DNS domain configured. Unable to perform DNS Update.)

Если при присоединении хоста к Active Directory (AD) команда net не может обновить DNS:

# net ads join -U administrator
Enter administrator's password:
Using short domain name -- SAMDOM
Joined 'AD-Member' to dns domain 'samdom.example.com'
No DNS domain configured for AD-Member. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER

Обратите внимание, что ввод в домен прошел успешно, и произошел сбой только при обновлении DNS.

После присоединения клиента к домену команда net находит полное доменное имя (FQDN) с помощью библиотек переключателя службы имен (NSS). Если полное доменное имя не может быть разрешено, например, с помощью DNS или файла /etc/hosts, обновление DNS завершается ошибкой.

Решение проблемы:

Добавьте IP-адрес и полное доменное имя в файл /etc/hosts. Например:

10.99.0.5     AD-Member.samdom.example.com     AD-Member

Запустите команду net ads join снова.

Если динамические обновления DNS по-прежнему не работают, проверьте на DNS-сервере AD, работают ли динамические обновления.

Ошибка обновления DNS: ERROR_DNS_UPDATE_FAILED

Если при вводе компьютера в домен Active Directory (AD), команда net завершается с ошибкой, говорящей об обновлении DNS:

# net ads join -U administrator
Enter administrator's password:
Using short domain name -- SAMDOM
Joined 'M1' to dns domain 'samdom.example.com'
DNS Update for m1.samdom.example.com failed: ERROR_DNS_UPDATE_FAILED
DNS update failed: NT_STATUS_UNSUCCESSFUL

Обратите внимание, что ввод в домен прошел успешно, и произошел сбой только при обновлении DNS.

Решение проблемы:

Ошибка обновления DNS: ERROR_DNS_GSS_ERROR

При использовании BIND9_DLZ-бэкенда динамические обновления DNS могут завершаться ошибкой из-за неправильной настройки Kerberos на контроллере домена AD (DC), на котором запущен DNS-сервер:

# net ads join -U administrator
Enter administrator's password:
Using short domain name -- SAMDOM
Joined 'AD-Member' to dns domain 'samdom.example.com'
DNS Update for AD-Member.samdom.example.com failed: ERROR_DNS_GSS_ERROR
DNS update failed: NT_STATUS_UNSUCCESSFUL

Для решения проблемы см. Reconfiguring the BIND9_DLZ Back End.

Ошибка gss_init_sec_context: Разная ошибка: слишком большой перекос часов (gss_init_sec_context failed with: Miscellaneous failure: Clock skew too great)

Если при подключении хоста к домену AD команда net завершается следующей ошибкой:

# net ads join -U administrator 
Enter administrator's password:
gss_init_sec_context failed with [ Miscellaneous failure (see text): Clock skew too great]
kinit succeeded but ads_sasl_spnego_gensec_bind(KRB5) failed: An internal error occurred.
Failed to join domain: failed to connect to AD: An internal error occurred.

Обратите внимание на строку gss_init_sec_context failed with [ Miscellaneous failure (see text): Clock skew too great]. Она говорит о большом рассинхроне времени между контроллером домена и клиентом.

Kerberos требует синхронизированного времени для предотвращения атак повторного воспроизведения. Время на клиенте не должно отличаться от КД более чем на 5 минут.

Для исправления ошибки, установите правильное время и запустите команду net ads join снова.

Не удалось присоединиться к домену: не удалось найти контроллер домена для домена SAMDOM — неопределенная ошибка

Winbind и проблемы с аутентификацией

Утилита getent не может вывести список всех пользователей или групп домена

Если утилита getent может вывести отдельных пользователей или группы домена, но команды getent passwd или же getent group не могут вывести список всех пользователей или групп домена:

  • Убедитесь, что коммутатор службы имен (name service switch, NSS) может использовать библиотеку libnss_winbind. Подробнее см. Libnss winbind Links

Включите следующие параметры в вашем файле smb.conf:

winbind enum users = yes
winbind enum groups = yes

По соображениям производительности не рекомендуется включать эти настройки в средах с большим количеством пользователей и групп.

Перезагрузите Samba:

# smbcontrol all reload-config

Участник леса домена в домене NT4

В настоящее время здесь нет контента.