В конфиге самбы для настройки LDAP я пишу:
ldap delete dn = Yes
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
При этом команда
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
создаёт Posix аккаунт у юзера.
Для создания изначально sambaSAMaccount используют это:
add user script = /usr/local/sbin/smbldap-useradd -a -m "%u"
Что я имею:
Самба не может поменять атрибуты у юзера или машины, т.е.
превратить из Posix аккаунта аккаунт самбы.
Если добавлять машину в домен, то самба почему-то сама не прописывает
свои атрибуты к аккаунту машины, и он так и остаётся Posix.
При миграции юзеров из NT4 домена в домен Samba имею такие проблемы:
если в smb.conf создавать Posix аккаунты (тем способом, как я писал выше),
то самба не может изменить атрибуты юзеров и машин и добавить свои
атрибуты класса sambaSAMaccount.
Если создавать sambaSAMaccount, то самба говорит, что аккаунт юзера
уже имеет атрибуты sambaSAMaccount. То есть она анализирует хорошо,
но чтобы самой добавлять класс sambaSAMaccount - этого ещё я не добился.
Вопросы:
1. Какие настройки в smb.conf должны быть, чтобы корректно изменялся
аккаунт юзера из Posix в Samba-аккаунт?
2. Нужно ли иметь Posix аккаунты всех юзеров на локальной машине (сервере)
при использовании LDAP или можно обойтись только аккаунтами
в базе LDAP ?
3. Как избежать двойного повторения действия для успешного добавления
машины в домен и пользователя? Самба выдаёт успешное завершение
только со второй попытки, и это, естесственно, напрягает
3. Как правильно мигрировать с NT4 домена в домен Samba, чтобы
атрибуты аккаунтов изменялись правильно (без ошибок) ?
P.S. HOWTO уже читал-перечитался :( Всё делаю как там - не работает.
Лог миграции приведу ниже.
Re: Re: Samba+LDAP+Migrate from NT4, проблемы создания Posix и sambaSAMaccount у юзеров и машин
Мля, очепятка :). На время миграции
------------------------------
add user script = /usr/sbin/smbldap-useradd "%u"
------------------------------
Т.е. без параметра -a. Если хочешь, чтобы создавались хомовые папки, то добавь ключик -m (я это не хочу :). Кстати, вот это читал - http://samba.idealx.org/smbldap-howto.en.html ?
Re: Re: Re: Samba+LDAP+Migrate from NT4, проблемы создания Posix и sambaSAMaccount у юзеров и машин
Даже не знаю, как выразить тебе благодарность,
уважаемый zenith !
У меня просто уже бубен сломался, да и плясать устал ... :)
А ты мне очень помог! Я сделал так, как ты сказал:
убрал -а, закомментил скрипт и удалил фильтр (половина моих проблем,
кажется, была как раз из-за него).
А ещё я раньше запускал процесс миграции со включённой самбой.
Вообщем, большущий респект тебе!! Спасибо!
P.S. доку ту я уже читал раз 10, делал так, как там - ничего не
получалось. :)
Re: Re: Re: Re: Re: Samba+LDAP+Migrate from NT4, проблемы создания Posix и sambaSAMaccount у юзеров и машин
Всё хорошо, да вот только комп не могу добавить нормально :(
Использую srvmgr.exe, добавляю машину в домен.
В smb.conf:
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
Получаю ошибку и никакого добавления хоста.
[2004/10/26 09:23:35, 3] rpc_server/srv_samr_nt.c:_samr_create_user(2245)
_samr_create_user: Running the command `/usr/local/sbin/smbldap-useradd -w "qwerty$"' gave 0
[2004/10/26 09:23:35, 3] smbd/sec_ctx.c:push_sec_ctx(255)
push_sec_ctx(0, 512) : sec_ctx_stack_ndx = 1
[2004/10/26 09:23:35, 3] smbd/uid.c:push_conn_ctx(364)
push_conn_ctx(100) : conn_ctx_stack_ndx = 0
[2004/10/26 09:23:35, 3] smbd/sec_ctx.c:set_sec_ctx(287)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 1
[2004/10/26 09:23:35, 3] smbd/sec_ctx.c:pop_sec_ctx(385)
pop_sec_ctx (0, 512) - sec_ctx_stack_ndx = 0
[2004/10/26 09:23:35, 3] passdb/pdb_ldap.c:ldapsam_add_sam_account(1734)
ldapsam_add_sam_account: User exists without samba attributes: adding them
[2004/10/26 09:23:35, 2] passdb/pdb_ldap.c:init_ldap_from_sam(864)
init_ldap_from_sam: Setting entry for user: qwerty$
[2004/10/26 09:23:36, 2] passdb/pdb_ldap.c:ldapsam_add_sam_account(1844)
ldapsam_add_sam_account: added: uid == qwerty$ in the LDAP database
[2004/10/26 09:23:36, 3] lib/util_seaccess.c:se_access_check(251)
[2004/10/26 09:23:36, 3] lib/util_seaccess.c:se_access_check(252)
se_access_check: user sid is S-1-5-21-2521884387-3074095102-330458706-2996
se_access_check: also S-1-5-21-2521884387-3074095102-330458706-512
se_access_check: also S-1-1-0
se_access_check: also S-1-5-2
se_access_check: also S-1-5-11
...............................................................
[2004/10/26 09:23:36, 3] groupdb/mapping.c:smb_set_primary_group(1188)
smb_set_primary_group: Running the command `/usr/local/sbin/smbldap-usermod -g "Domain Users" "qwerty$" ' gave 0
[2004/10/26 09:23:36, 2] passdb/pdb_ldap.c:init_ldap_from_sam(864)
init_ldap_from_sam: Setting entry for user: qwerty$
[2004/10/26 09:23:36, 1] passdb/pdb_ldap.c:ldapsam_modify_entry(1419)
ldapsam_modify_entry: Failed to modify user dn= uid=qwerty$,ou=Computers,dc=TEST2,dc=ymgeo,dc=ru with: No such attribute
modify/delete: sambaPrimaryGroupSID: no such value
[2004/10/26 09:23:36, 0] passdb/pdb_ldap.c:ldapsam_update_sam_account(1621)
ldapsam_update_sam_account: failed to modify user with uid = qwerty$, error: modify/delete: sambaPrimaryGroupSID: no such value (Success)
В чём может быть дело?