LINUX.ORG.RU
ФорумAdmin

Samba+LDAP+Migrate from NT4, проблемы создания Posix и sambaSAMaccount у юзеров и машин


0

0

В конфиге самбы для настройки 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 уже читал-перечитался :( Всё делаю как там - не работает.
Лог миграции приведу ниже.

логи с ошибками

Это с созданием Posix аккаунта юзера

[root@ldap_pdc DOMAIN_YMGECO-PDC]# net rpc vampire -S NT4server
Fetching DOMAIN database
SAM_DELTA_DOMAIN_INFO not handled
Creating unix group: 'Internet_user'
Creating unix group: 'ECO_TEAM'
Creating unix group: 'Shelf_UserGlobal'
Creating unix group: 'GeoDevision'
Creating unix group: 'Power Users'
Creating unix group: 'MODEL_TEAM'
Creating unix group: 'DGT_TEAM'
Creating unix group: 'GEOMAP_TEAM'
Creating unix group: 'BOSS_TEAM'
Creating unix group: 'STANDARD_READER'
Creating unix group: 'Monitoring_READER'
Creating unix group: 'OCEAN_TEAM'
Creating unix group: 'WWW_ECOLOGY_SOURCES'
Creating unix group: 'KGP_GROUP'
Creating unix group: 'ReportDraftUsers'
Creating unix group: 'Semka'
Creating unix group: 'Monitoring_Riter'
Creating unix group: 'AUP'
Creating unix group: 'Processing'
Creating account: Guest
[2004/10/22 10:52:30, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1838)
  ldapsam_add_sam_account: failed to modify/add user with uid = Guest (dn = uid=Guest,ou=Users,dc=DOMAIN_YMGECO,dc=ymgeo,dc=ru)
Creating account: IUSR_YMG
[2004/10/22 10:52:31, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1838)
  ldapsam_add_sam_account: failed to modify/add user with uid = IUSR_YMG (dn = uid=IUSR_YMG,ou=Users,dc=DOMAIN_YMGECO,dc=ymgeo,dc=ru)
Creating account: Martin
[2004/10/22 10:52:33, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1838)
  ldapsam_add_sam_account: failed to modify/add user with uid = Martin (dn = uid=Martin,ou=Users,dc=DOMAIN_YMGECO,dc=ymgeo,dc=ru)
Creating account: rubtsov
[2004/10/22 10:52:35, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1838)
  ldapsam_add_sam_account: failed to modify/add user with uid = rubtsov (dn = uid=rubtsov,ou=Users,dc=DOMAIN_YMGECO,dc=ymgeo,dc=ru)
Creating account: ruslan
[2004/10/22 10:52:36, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1838)
  ldapsam_add_sam_account: failed to modify/add user with uid = ruslan (dn = uid=ruslan,ou=Users,dc=DOMAIN_YMGECO,dc=ymgeo,dc=ru)
Creating account: MODEL_ECO$
[2004/10/22 10:52:37, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1838)
  ldapsam_add_sam_account: failed to modify/add user with uid = MODEL_ECO$ (dn = uid=MODEL_ECO$,ou=Computers,dc=DOMAIN_YMGECO,dc=ymgeo,dc=ru)
Creating account: IWAM_YMG

......

и т.д.

А это уже если изначально создавать sambaSAMaccount
(т.е. add user script = /usr/local/sbin/smbldap-useradd -a -m "%u")


Creating account: OlgaV
[2004/10/22 10:54:14, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1682)
  ldapsam_add_sam_account: User 'OlgaV' already in the base, with samba attributes
Creating account: Marina
[2004/10/22 10:54:16, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1682)
  ldapsam_add_sam_account: User 'Marina' already in the base, with samba attributes
Creating account: A_Olga
[2004/10/22 10:54:18, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1682)
  ldapsam_add_sam_account: User 'A_Olga' already in the base, with samba attributes
Creating account: barabobo
[2004/10/22 10:54:19, 0] passdb/pdb_ldap.c:ldapsam_add_sam_account(1682)
  ldapsam_add_sam_account: User 'barabobo' already in the base, with samba attributes

......

и т.д.

RomanU
() автор топика

Закомментируй директиву " ldap filter ".
Вот мой smb.conf:
-------------------------------------------------------
[global]
netbios name = SBYTPDC
workgroup = SBYT
server string = SBYTPDC
passdb backend = ldapsam:ldap://127.0.0.1
idmap backend = ldap:ldap://127.0.0.1
ldap admin dn = "cn=Manager,dc=sbyt,dc=amur,dc=elektra,dc=ru"
ldap ssl = off
ldap delete dn = yes
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers
ldap suffix = dc=sbyt,dc=amur,dc=elektra,dc=ru
ldap idmap suffix = ou=Idmap
ldap passwd sync = yes
os level = 255
preferred master = yes
domain master = yes
local master = yes
security = user
domain logons = yes
wins support = yes
time server = yes
logon script = logon.bat
log file = /var/log/samba/access.log
log level = 1
dos charset = cp866
add user script = /usr/sbin/smbldap-useradd -a "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
idmap uid = 10000-20000
idmap gid = 10000-20000
username map = /etc/samba/smbusers
logon path =
logon home =
inherit acls = yes
inherit permissions = yes
---------------------------------------------------
На время миграции закомментируй "delete user from group script". Потом включишь. Когда выполняешь комманду net rpc vampire, samba не должна работать.

zenith ★★★
()
Ответ на: комментарий от zenith

Мля, очепятка :). На время миграции
------------------------------
add user script = /usr/sbin/smbldap-useradd "%u"
------------------------------
Т.е. без параметра -a. Если хочешь, чтобы создавались хомовые папки, то добавь ключик -m (я это не хочу :). Кстати, вот это читал - http://samba.idealx.org/smbldap-howto.en.html ?

zenith ★★★
()
Ответ на: комментарий от zenith

Даже не знаю, как выразить тебе благодарность,
уважаемый zenith !

У меня просто уже бубен сломался, да и плясать устал ... :)

А ты мне очень помог! Я сделал так, как ты сказал:

убрал -а, закомментил скрипт и удалил фильтр (половина моих проблем,
кажется, была как раз из-за него).
А ещё я раньше запускал процесс миграции со включённой самбой.

Вообщем, большущий респект тебе!! Спасибо!

P.S. доку ту я уже читал раз 10, делал так, как там - ничего не
получалось. :)

RomanU
() автор топика
Ответ на: комментарий от zenith

Всё хорошо, да вот только комп не могу добавить нормально :(
Использую 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)



В чём может быть дело?

RomanU
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.