[sisyphus] танцы (samba) - User Administrator in passdb, but getpwnam() fails!

Artem =?iso-8859-1?q?u2u_=CE=C1_nm=2Eru?=
Ср Мар 9 18:12:51 MSK 2005


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/>_




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