[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