Цель: присоединить компьютер Solaris 10 к существующей Active Directory.
Шаги, которые я сделал:
kinit admin-user@KERB.EXAMPLE.ORG
net ads join -U admin-user
Все шаги в порядке, проверил это с помощью klist
, net getdomainsid
, wbinfo -g
и wbinfo -u
.
Теперь проблема: getent passwd EXAMPLE+username
вообще ничего не возвращает (на другой машине Solaris 10 это работает). Каждый раз, когда я запрашиваю что-то у AD, это отображается в log.winbind:
[2010/09/07 10:51:41, 0] winbindd/winbindd.c:750(request_len_recv)
request_len_recv: Invalid request size received: 2088 (expected 2096)
Согласно Google, я должен убедитесь, что запущенная версия libnss_winbind.so соответствует версии запущенной winbind.
Но как мне это сделать?
Solaris 10 поставляется с рабочей (если не последней) версией samba, однако библиотеки несовместимы с продуктом sunfreeware.
Проблема, которую вы видите, вызвана тем, что продукт для загара не имеет nss_winbind.so
библиотека в пакете и /usr/lib/nss_winbind.so
не совместим.
Чтобы исправить, вам придется создать свой собственный. Загрузите источник самбы из sunfreeware и распакуйте его в удобный каталог, затем перейдите к нему cd (текущая версия samba-3.4.2)
cd source3
./configure
make nss_modules
это произведет
../nsswitch/libnss_winbind.so
В моей тестовой системе копирование этого файла в
/usr/local/samba/lib/nss_winbind.so.1
исправил проблему.
вероятно, pam_winbind.so - неправильная версия. посмотрите эту ссылку: http://www.mentby.com/adrian-graham/samba-334-31-sshwinbind-login-failure.html исправьте вашу проблему. Winbind.so