ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails!
@ 2005-03-07 19:16 Artem
  2005-03-07 20:04 ` Artem
  2005-03-07 20:06 ` Alexander Bokovoy
  0 siblings, 2 replies; 4+ messages in thread
From: Artem @ 2005-03-07 19:16 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Ввиду наличия свободного времени решил "потанцевать" с сизифовой samba 
3.0.10 + smbldap-tools 0.8.5.
Установил, настроил (c помощью smbldap-tools), все с ldap работает, 
пользователи создаются , пароли меняются, т.е. с ldap самба работает. 
Системные пользователи - не в ldap.  При попытке затащить клиента в 
домен samba, выдает ошибку о неверной аутентификации, а в логах пишет 
следующее:
 auth/auth_util.c:make_server_info_sam(822)                                      

  User Administrator in passdb, but getpwnam() fails!

в означенном файле в указанной строке:
if ( !(pwd = getpwnam_alloc(pdb_get_username(sampass))) )  
{                                   
                DEBUG(1, ("User %s in passdb, but getpwnam() 
fails!\n",                                
                          pdb_get_username(sampass)));

Т.е. тоже становится ясно, что  pdb_get_username(sampass) - исправно 
"вытягивает" аккаунт из ldap (Administrator), но почему дальше не 
отрабатывает getpwnam_alloc() ?  Мне, что-ли, вместо root в /etc/passwd 
прописать Administrator?  :-D Бред. Что-то чем больше я читал доки по 
samba (samba-doc), тем темнее все становилось (в одних - одно, в 
других-другое, разлезлись на > 1000 страниц - а толку...  :-) ). 
SAM-аккаунты samba должны "резольвится" на системные, на этой же 
системе. Что я упустил в настройках? Никак понять не могу.  Про группы - 
написано: сделать net groupmap для связки их с системными. А что с 
учетной записью администратора pdc делать? Как она с рутом увязывается? 
Winbind, насколько я понял, в моем случае не нужен - т.к. самба сама и 
есть контроллер домена?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails!
  2005-03-07 19:16 [sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails! Artem
@ 2005-03-07 20:04 ` Artem
  2005-03-07 20:06 ` Alexander Bokovoy
  1 sibling, 0 replies; 4+ messages in thread
From: Artem @ 2005-03-07 20:04 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

> Т.е. тоже становится ясно, что  pdb_get_username(sampass) - исправно 
> "вытягивает" аккаунт из ldap (Administrator), но почему дальше не 
> отрабатывает getpwnam_alloc() ?  Мне, что-ли, вместо root в 
> /etc/passwd прописать Administrator?  :-D Бред.


  :-)  Решил "поизвращаться" для эксперимента - завел пользователя 
Administrator с uid/gid=0 в  /еtc/passwd
Ход мыслей конечно интересный, но поведение клиента изменилось - 
аутентификация для Administrator уже выполняется, но после минутной 
паузы выскакивает сообщение о какой-то там ошибке интерфейса. В логах:
                             
[2005/03/07 21:57:14, 5] 
auth/auth_util.c:debug_nt_user_token(486)                                       

  NT user token: 
(NULL)                                                                                  

[2005/03/07 21:57:14, 5] 
auth/auth_util.c:debug_unix_user_token(505)                                     

  UNIX token of user 
0                                                                                   

  Primary group is 0 and contains 0 supplementary 
groups                                                
[2005/03/07 21:57:14, 5] 
smbd/uid.c:change_to_root_user(296)                                             

  change_to_root_user: now uid=(0,0) 
gid=(0,0)                                                          
[2005/03/07 21:57:14, 2] 
smbd/server.c:exit_server(571)                                                  

  Closing 
connections                                                                                    

[2005/03/07 21:57:14, 3] 
smbd/connection.c:yield_connection(69)                                          

  Yielding connection 
to                                                                                 

[2005/03/07 21:57:14, 5] 
smbd/oplock.c:receive_local_message(107)                                        

  receive_local_message: doing select with timeout of 1 
ms                                              
[2005/03/07 21:57:14, 3] 
smbd/server.c:exit_server(614)                                                  

  Server exit (normal exit)         


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails!
  2005-03-07 19:16 [sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails! Artem
  2005-03-07 20:04 ` Artem
@ 2005-03-07 20:06 ` Alexander Bokovoy
  2005-03-09 15:12   ` Artem
  1 sibling, 1 reply; 4+ messages in thread
From: Alexander Bokovoy @ 2005-03-07 20:06 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 1580 bytes --]

On Mon, Mar 07, 2005 at 09:16:17PM +0200, Artem wrote:
> Ввиду наличия свободного времени решил "потанцевать" с сизифовой samba 
> 3.0.10 + smbldap-tools 0.8.5.
> Установил, настроил (c помощью smbldap-tools), все с ldap работает, 
> пользователи создаются , пароли меняются, т.е. с ldap самба работает. 
> Системные пользователи - не в ldap.  При попытке затащить клиента в 
> домен samba, выдает ошибку о неверной аутентификации, а в логах пишет 
> следующее:
> auth/auth_util.c:make_server_info_sam(822)                                  
> 
>  User Administrator in passdb, but getpwnam() fails!
Потому что нет в системе пользователя с таким именем.

> в означенном файле в указанной строке:
> if ( !(pwd = getpwnam_alloc(pdb_get_username(sampass))) )  
> {                                   
>                DEBUG(1, ("User %s in passdb, but getpwnam() 
> fails!\n",                                
>                          pdb_get_username(sampass)));
> 
> Т.е. тоже становится ясно, что  pdb_get_username(sampass) - исправно 
> "вытягивает" аккаунт из ldap (Administrator), но почему дальше не 
> отрабатывает getpwnam_alloc() ?  Мне, что-ли, вместо root в /etc/passwd 
> прописать Administrator?  :-D Бред. Что-то чем больше я читал доки по 
Раз у Вас все хранится в LDAP, то и пользователи в системе тоже должны
быть из LDAP (nss_ldap).

-- 
/ Alexander Bokovoy
Samba Team                      http://www.samba.org/
ALT Linux Team                  http://www.altlinux.org/
Midgard Project Ry              http://www.midgard-project.org/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails!
  2005-03-07 20:06 ` Alexander Bokovoy
@ 2005-03-09 15:12   ` Artem
  0 siblings, 0 replies; 4+ messages in thread
From: Artem @ 2005-03-09 15:12 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Alexander Bokovoy wrote:

>>                        
>>
>> User Administrator in passdb, but getpwnam() fails!
>>    
>>
>Потому что нет в системе пользователя с таким именем.
>
>  
>
Дальнейшие эксперименты и анализ логов выявили, что:
- если добавить системного пользователя administrator с _uid=0_ - то все 
работает;
- если прописать в /etc/samba/smbusers  root = Administrator - то самба 
пытается после мэппинга Administrator на root найти root в ldap - 
естесно, не найдя его, выдается ошибка;
- если же добавить в ldap запись root - то все работает.

В родном руководстве по samba говорится, что сочетание passdb backend = 
ldap с /еtc/passwd - возможно... Какого же, извиняюсь, оно не 
работает??? И что это за извращения с мэпингом root? или какие-то хитрые 
ключи есть для этого?

>>в означенном файле в указанной строке:
>>if ( !(pwd = getpwnam_alloc(pdb_get_username(sampass))) )  
>>{                                   
>>               DEBUG(1, ("User %s in passdb, but getpwnam() 
>>fails!\n",                                
>>                         pdb_get_username(sampass)));
>>
>>Т.е. тоже становится ясно, что  pdb_get_username(sampass) - исправно 
>>"вытягивает" аккаунт из ldap (Administrator), но почему дальше не 
>>отрабатывает getpwnam_alloc() ?  Мне, что-ли, вместо root в /etc/passwd 
>>прописать Administrator?  :-D Бред. Что-то чем больше я читал доки по 
>>    
>>
>Раз у Вас все хранится в LDAP, то и пользователи в системе тоже должны
>быть из LDAP (nss_ldap).
>
>  
>
Значит - я извращенец :-) . По правде говоря, все-таки оно заработало 
(но мне не нравятся эти методы) - спасибо моей настырности и краткому
howto от http://www.unav.es/cti/ldap-smb/smb-ldap-3-howto.html , в
частности:

> In the [SAMBA_3_0] and [HEAD] only a few basic entries are required: 
> nobody and administrator /BUT/ an account with uidNumber=0 (root or 
> administrator) /MUST/  be present if you need add XP/W2K ws. The 
> reason: an administrative account is demanded in the /ws side/ in the 
> join process, and that account must have a uidNumber=0 in the unix world.
>
> Remember that in the ldapsam backend the rid mapping is algorthmic based:
>     rid='2*uidNumber+1000'
> and
>     primaryGroup='2*gidNumber+1000+1'
>
> The root/administrator (uidNumber=0) /SHOULD /be present in the NT's 
> Admins group (rid=512). 

+ большущий пример ldif- файла... - утилиты smbldap-tools  немного
другие записи мне почему-то создали по части rid админа :-[  Где-то
подобное проскакивало и в форуме по mandrake... smbldap-tools явно не
поспевают за "коленцами" samba

P.S. А howto хороший - буквально все мои сегодняшние грабли "раскидал"
по углам. Рекомендую. :-)
_ <http://www.unav.es/>_



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-03-09 15:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-07 19:16 [sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails! Artem
2005-03-07 20:04 ` Artem
2005-03-07 20:06 ` Alexander Bokovoy
2005-03-09 15:12   ` Artem

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git