[samba] Проблемы с Winbind на Samba PDC

Alex Moskalenko =?iso-8859-1?q?mav_=CE=C1_elserv=2Emsk=2Esu?=
Ср Май 21 12:11:06 MSD 2008


Здравствуйте!

Столкнулся с не очень приятной и понятной проблемой. 

Есть задача - авторизовать пользователей в squid и pptpd через их имена/пароли 
в Windows без дополнительных запросов (NTLM). Сервер со squid и pptpd также 
является PDC для домена Windows. Имеются следующие проблемы.

1. Дано: ALT Linux Server 4.0 + updates + branch 4.0. Samba 3.0.28 из 
дистрибутива. Самба сконфигурирована как PDC, запущен winbind, wbinfo -p, 
wbinfo -t, wbinfo -a user%pass работают. Соответственно, работают и 
авторизация в squid и pptpd. wbinfo -u и wbinfo -g не работают, но это и не 
требуется. Проблема - раз в 5 минут (а точнее, раз в значение winbind cache 
time, установленное в smb.conf) в логи попадают 3 сообщения

May 18 13:13:51 name winbindd[8578]: [2008/05/18 13:13:51, 0] 
libsmb/clientgen.c:cli_receive_smb(112)
May 18 13:13:51 name winbindd[8578]:   Receiving SMB: Server stopped 
responding

и ВСЕ клиенты в сети это время (около 10 секунд) подвисают. Похоже, на это 
время блокируются все процессы smbd. Описание этого есть на 
https://bugzilla.samba.org/show_bug.cgi?id=4973 , который значится как 
RESOLVED и FIXED в samba >= 3.0.28a. В дистрибутиве (и бранче) есть только 
samba 3.0.28.

2. ALT Linux Server 4.0 + updates + branch 4.0, samba 2.0.38a-alt3 (smbd -V 
выдает 3.0.28b-GIT-UNKNOWN-test). Условия те же, smb.conf тот же. Сообщения в 
логи не попадают, клиенты не подвисают, ошибок при работе не наблюдается, НО 
wbinfo -t, wbinfo -a user%pass НЕ работают. Соответственно, авторизация 
отвалилась. Вывод wbinfo -t

checking the trust secret via RPC calls failed
error code was NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND (0xc0000233)
Could not check secret

Вывод wbinfo -a user%pass
plaintext password authentication failed
error code was NT_STATUS_NO_LOGON_SERVERS (0xc000005e)
error messsage was: No logon servers
Could not authenticate user user%pass with plaintext password
challenge/response password authentication failed
error code was NT_STATUS_NO_LOGON_SERVERS (0xc000005e)
error messsage was: No logon servers
Could not authenticate user user with challenge/response

wbinfo -u/wbinfo -g так же не работают. При loglevel winbind:10 при выполнении 
wbinfo -t следующее
[2008/05/21 10:43:10, 6] nsswitch/winbindd.c:new_connection(628)
  accepted socket 21
[2008/05/21 10:43:10, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn INTERFACE_VERSION
[2008/05/21 10:43:10, 3] 
nsswitch/winbindd_misc.c:winbindd_interface_version(491)
  [20718]: request interface version
[2008/05/21 10:43:10, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn WINBINDD_PRIV_PIPE_DIR
[2008/05/21 10:43:10, 3] nsswitch/winbindd_misc.c:winbindd_priv_pipe_dir(524)
  [20718]: request location of privileged pipe
[2008/05/21 10:43:10, 6] nsswitch/winbindd.c:new_connection(628)
  accepted socket 28
[2008/05/21 10:43:10, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn CHECK_MACHACC
[2008/05/21 10:43:10, 3] 
nsswitch/winbindd_misc.c:winbindd_check_machine_acct(35)
  [20718]: check machine account
[2008/05/21 10:43:10, 10] 
nsswitch/winbindd_cache.c:cache_retrieve_response(2307)
  Retrieving response for pid 19327

При wbinfo -a user%pass
[2008/05/21 10:52:11, 6] nsswitch/winbindd.c:new_connection(628)
  accepted socket 18
[2008/05/21 10:52:11, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn INTERFACE_VERSION
[2008/05/21 10:52:11, 3] 
nsswitch/winbindd_misc.c:winbindd_interface_version(491)
  [22778]: request interface version
[2008/05/21 10:52:11, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn WINBINDD_PRIV_PIPE_DIR
[2008/05/21 10:52:11, 3] nsswitch/winbindd_misc.c:winbindd_priv_pipe_dir(524)
  [22778]: request location of privileged pipe
[2008/05/21 10:52:11, 6] nsswitch/winbindd.c:new_connection(628)
  accepted socket 25
[2008/05/21 10:52:11, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn PAM_AUTH
[2008/05/21 10:52:11, 3] nsswitch/winbindd_pam.c:winbindd_pam_auth(751)
  [22778]: pam auth user
[2008/05/21 10:52:11, 10] 
nsswitch/winbindd_cache.c:cache_retrieve_response(2307)
  Retrieving response for pid 22733
[2008/05/21 10:52:11, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn INFO
[2008/05/21 10:52:11, 3] nsswitch/winbindd_misc.c:winbindd_info(479)
  [22778]: request misc info
[2008/05/21 10:52:11, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn DOMAIN_NAME
[2008/05/21 10:52:11, 3] nsswitch/winbindd_misc.c:winbindd_domain_name(501)
  [22778]: request domain name
[2008/05/21 10:52:11, 10] nsswitch/winbindd.c:process_request(314)
  process_request: request fn AUTH_CRAP
[2008/05/21 10:52:11, 3] nsswitch/winbindd_pam.c:winbindd_pam_auth_crap(1685)
  [22778]: pam auth crap domain: [DOMAIN] user: user
[2008/05/21 10:52:11, 10] 
nsswitch/winbindd_cache.c:cache_retrieve_response(2307)
  Retrieving response for pid 22733


Вобственно вопрос - как авторизовать клиентов через winbind без тормозов и 
затыков?

Заранее спасибо.

-- 
WBR, Alex Moskalenko


Подробная информация о списке рассылки Samba