URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94120
[ Назад ]

Исходное сообщение
"Перестал работать домен после обновления до Ubuntu 12.04"

Отправлено teddy_val , 05-Дек-12 16:31 
Коллеги прошу помощи!
Есть сервер, работающий под управлением Ubuntu 10.04LTS
/usr/sbin/smbd -V
Version 3.4.7
uname -a
2.6.32-34-generic-pae #77-Ubuntu SMP Tue Sep 13 21:16:18 UTC 2011 i686 GNU/Linux
Решил его обновить до 12.04
/usr/sbin/smbd -V
Version 3.6.3
uname -a
3.6.7-030607-generic #201211171710 SMP Sat Nov 17 22:18:03 UTC 2012 i686 i686 i386 GNU/Linux

Самба работает в связке с Openldap.
После обновления не мог поставить пакет libnet-ldap-perl, ладно подсказал добрый djaarf, что нужно предварительно удалить libperl-ldap-perl.
В итоге что работает:
id Выдает пользователей.
smbldap-usershow
Выдает поля из лдап базы
smbldap-passwd
Меняет пароли
К расшаренным ресурсам на PDC можно подключиться используя логин пароль из лдап базы.

Что не работает:
Заведение нового пользователя:
/etc/samba/smbldap-tools/smbldap-useradd -a -m -c "tempuser" tempuser
New user id is: 1299
No such object at /etc/smbldap-tools//smbldap_tools.pm line 473.

Ввод рабочей станции в домен:
При присоединении к Домену произошла ошибка - не найдено имя пользователя.
В логах самбы в это время:
  NativeOS=[Windows Server 2003 R2 3790 Service Pack 2] NativeLanMan=[] PrimaryDomain=[Windows Server 2003 R2 5.2]
[2012/12/05 16:24:29.302123,  3] ../libcli/auth/ntlmssp_server.c:348(ntlmssp_server_preauth)
  Got user=[] domain=[] workstation=[VM-BALT-UFA] len1=1 len2=0
[2012/12/05 16:24:29.302196,  5] auth/auth_util.c:110(make_user_info_map)
  Mapping user []\[] from workstation [VM-BALT-UFA]
[2012/12/05 16:24:29.302255,  5] auth/auth_util.c:131(make_user_info_map)
  Mapped domain from [] to [UFA] for user [] from workstation [VM-BALT-UFA]
[2012/12/05 16:24:29.302293,  5] auth/user_info.c:59(make_user_info)
  attempting to make a user_info for  ()
[2012/12/05 16:24:29.302331,  5] auth/user_info.c:70(make_user_info)
  making strings for 's user_info struct
[2012/12/05 16:24:29.302366,  5] auth/user_info.c:87(make_user_info)
  making blobs for 's user_info struct
[2012/12/05 16:24:29.302400, 10] auth/user_info.c:123(make_user_info)
  made a user_info for  ()
[2012/12/05 16:24:29.302434,  3] auth/auth.c:219(check_ntlm_password)
  check_ntlm_password:  Checking password for unmapped user []\[]@[VM-BALT-UFA] with the new password interface
[2012/12/05 16:24:29.302470,  3] auth/auth.c:222(check_ntlm_password)
  check_ntlm_password:  mapped user is: [UFA]\[]@[VM-BALT-UFA]
[2012/12/05 16:24:29.302505, 10] auth/auth.c:231(check_ntlm_password)
  check_ntlm_password: auth_context challenge created by random
[2012/12/05 16:24:29.302540, 10] auth/auth.c:233(check_ntlm_password)
  challenge is:
[2012/12/05 16:24:29.302577, 10] auth/auth_builtin.c:44(check_guest_security)
  Check auth for: []
[2012/12/05 16:24:29.302628,  3] auth/auth.c:268(check_ntlm_password)
  check_ntlm_password: guest authentication for user [] succeeded
[2012/12/05 16:24:29.302664,  5] auth/auth.c:309(check_ntlm_password)
  check_ntlm_password:  guest authentication for user [] -> [] -> [nobody] succeeded
[2012/12/05 16:24:29.302889,  2] lib/smbldap.c:1018(smbldap_open_connection)
  smbldap_open_connection: connection opened
[2012/12/05 16:24:29.303700,  3] lib/smbldap.c:1240(smbldap_connect_system)
  ldap_connect_system: successful connection to the LDAP server
[2012/12/05 16:24:29.312970,  4] passdb/pdb_ldap.c:2543(ldapsam_getgroup)
  ldapsam_getgroup: Did not find group, filter was (&(objectClass=sambaGroupMapping)(sambaSID=S-1-1-0))
[2012/12/05 16:24:29.313425,  4] passdb/pdb_ldap.c:2543(ldapsam_getgroup)
  ldapsam_getgroup: Did not find group, filter was (&(objectClass=sambaGroupMapping)(sambaSID=S-1-5-2))
[2012/12/05 16:24:29.313513, 10] auth/auth_util.c:505(create_local_token)
  Could not convert SID S-1-5-21-1214429723-3201693330-1744561307-546 to gid, ignoring it
[2012/12/05 16:24:29.313558, 10] auth/auth_util.c:505(create_local_token)
  Could not convert SID S-1-1-0 to gid, ignoring it
[2012/12/05 16:24:29.313608, 10] auth/auth_util.c:505(create_local_token)
  Could not convert SID S-1-5-2 to gid, ignoring it
[2012/12/05 16:24:29.313650, 10] ../libcli/security/security_token.c:63(security_token_debug)
  Security token SIDs (11):
Security token SIDs (11):
    SID[  0]: S-1-5-21-1214429723-3201693330-1744561307-501
    SID[  1]: S-1-5-21-1214429723-3201693330-1744561307-513
    SID[  2]: S-1-5-21-1214429723-3201693330-1744561307-546
    SID[  3]: S-1-1-0
    SID[  4]: S-1-5-2
    SID[  5]: S-1-5-32-546
    SID[  6]: S-1-5-32-545
    SID[  7]: S-1-22-1-65534
    SID[  8]: S-1-22-2-513
    SID[  9]: S-1-22-2-10000
    SID[ 10]: S-1-22-2-10001
   Privileges (0x               0):
   Rights (0x               0):
[2012/12/05 16:24:29.313883, 10] auth/token_util.c:527(debug_unix_user_token)
  UNIX token of user 65534
  Primary group is 65534 and contains 3 supplementary groups
  Group[  0]: 513
  Group[  1]: 10000
  Group[  2]: 10001
[2012/12/05 16:24:29.313980,  3] ../libcli/auth/ntlmssp_sign.c:535(ntlmssp_sign_init)
  NTLMSSP Sign/Seal - Initialising with flags:
[2012/12/05 16:24:29.314018,  3] ../libcli/auth/ntlmssp.c:34(debug_ntlmssp_flags)
  Got NTLMSSP neg_flags=0xa2088205
[2012/12/05 16:24:29.314075,  3] smbd/password.c:297(register_existing_vuid)
  register_existing_vuid: User name: nobody     Real name: (null)
[2012/12/05 16:24:29.314115,  3] smbd/password.c:307(register_existing_vuid)
  register_existing_vuid: UNIX uid 65534 is UNIX user nobody, and will be vuid 100
[2012/12/05 16:24:29.320495,  3] smbd/process.c:1662(process_smb)
  Transaction 3 of length 76 (0 toread)
[2012/12/05 16:24:29.320579,  3] smbd/process.c:1467(switch_message)
  switch message SMBtconX (pid 16572) conn 0x0
[2012/12/05 16:24:29.320671,  3] lib/access.c:338(allow_access)
  Allowed connection from 10.2.9.8 (10.2.9.8)
[2012/12/05 16:24:29.320738,  3] smbd/service.c:837(make_connection_snum)
  Connect path is '/tmp' for service [IPC$]
[2012/12/05 16:24:29.320811,  3] smbd/vfs.c:102(vfs_init_default)
  Initialising default vfs hooks
[2012/12/05 16:24:29.320863,  3] smbd/vfs.c:128(vfs_init_custom)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2012/12/05 16:24:29.321010,  3] smbd/service.c:1081(make_connection_snum)
  vm-balt-ufa (10.2.9.8) connect to service IPC$ initially as user nobody (uid=65534, gid=65534) (pid 16572)
[2012/12/05 16:24:29.321065,  3] smbd/reply.c:871(reply_tcon_and_X)
  tconX service=IPC$
[2012/12/05 16:24:29.322478,  3] smbd/process.c:1662(process_smb)
  Transaction 4 of length 122 (0 toread)
[2012/12/05 16:24:29.322538,  3] smbd/process.c:1467(switch_message)
  switch message SMBtrans (pid 16572) conn 0xb94ffd90
[2012/12/05 16:24:29.322603,  3] smbd/ipc.c:560(handle_trans)
  trans <\PIPE\LANMAN> data=0 params=26 setup=0
[2012/12/05 16:24:29.322646,  3] smbd/ipc.c:511(named_pipe)
  named pipe command on <LANMAN> name
[2012/12/05 16:24:29.322684,  3] smbd/lanman.c:5846(api_reply)
  Got API command 104 of form <WrLehDO> <B16BBDz> (tdscnt=0,tpscnt=26,mdrcnt=4200,mprcnt=8)
[2012/12/05 16:24:29.322722,  3] smbd/lanman.c:5850(api_reply)
  Doing NetServerEnum2
[2012/12/05 16:24:29.322816,  3] smbd/lanman.c:1585(api_RNetServerEnum2)
  NetServerEnum2 domain = UFA uLevel=1 counted=1 total=1
[2012/12/05 16:24:29.324409,  3] smbd/process.c:1662(process_smb)
  Transaction 5 of length 43 (0 toread)
[2012/12/05 16:24:29.324466,  3] smbd/process.c:1467(switch_message)
  switch message SMBulogoffX (pid 16572) conn 0x0
[2012/12/05 16:24:29.324522,  3] smbd/reply.c:2096(reply_ulogoffX)
  ulogoffX vuid=100
[2012/12/05 16:24:29.325390,  3] smbd/process.c:1662(process_smb)
  Transaction 6 of length 39 (0 toread)
[2012/12/05 16:24:29.325447,  3] smbd/process.c:1467(switch_message)
  switch message SMBtdis (pid 16572) conn 0xb94ffd90
[2012/12/05 16:24:29.325499,  3] smbd/service.c:1345(close_cnum)
  vm-balt-ufa (10.2.9.8) closed connection to service IPC$
[2012/12/05 16:24:29.325540,  3] smbd/connection.c:35(yield_connection)
  Yielding connection to IPC$
[2012/12/05 16:24:29.327636,  3] smbd/server_exit.c:180(exit_server_common)
  Server exit (failed to receive smb request)

Спасибо.


Содержание

Сообщения в этом обсуждении
"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено Сергей , 06-Дек-12 10:19 
Переустановите smbldap-tools

"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено teddy_val , 11-Янв-13 17:04 
>  Переустановите smbldap-tools

С грехом пополам, удалось переустановить smbldap-tools.
Однако крокодил ловиться не хочет:
smbldap-useradd -a -m zoom
Use of qw(...) as parentheses is deprecated at /usr/share/perl5/smbldap_tools.pm line 1423, <DATA> line 522.
Failed to search sambaUnixIdPool to get next uidNumber: No such object at /usr/share/perl5/smbldap_tools.pm line 1198.

Я так понимаю, самба тут не причем. При добавление члена домена самба использует скрипты из пакета smbldap-tools, которые не работают.
Коллеги подскажите плз. у кого работает на 12-й убунте подобное потребство.


"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено teddy_val , 11-Янв-13 17:59 
>[оверквотинг удален]
> С грехом пополам, удалось переустановить smbldap-tools.
> Однако крокодил ловиться не хочет:
> smbldap-useradd -a -m zoom
> Use of qw(...) as parentheses is deprecated at /usr/share/perl5/smbldap_tools.pm line
> 1423, <DATA> line 522.
> Failed to search sambaUnixIdPool to get next uidNumber: No such object at
> /usr/share/perl5/smbldap_tools.pm line 1198.
> Я так понимаю, самба тут не причем. При добавление члена домена самба
> использует скрипты из пакета smbldap-tools, которые не работают.
> Коллеги подскажите плз. у кого работает на 12-й убунте подобное потребство.

С ошибкой Use of qw(...) as parentheses is deprecated at /usr/share/perl5/smbldap_tools.pm line
> 1423, <DATA> line 522.

Разобрался с первой частью. Оказывается, что нужно использовать синтаксис  `(qw())` вместо `qw()`п начиная с версии perl 5.14. Что я и сделал в файле /usr/share/perl5/smbldap_tools.pm.
Осталось разобраться с главной ошибкой:
smbldap-useradd -a -m zoom
Failed to search sambaUnixIdPool to get next uidNumber: No such object at /usr/share/perl5/smbldap_tools.pm line 1197.


"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено teddy_val , 16-Янв-13 11:15 
Ввиду актуальности вопроса прошу прощения за АП темы.

"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено sevod , 21-Янв-13 14:58 
Все тоже самое, может кто знает что делать?

"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено ALex_hha , 21-Янв-13 17:47 
> /usr/sbin/smbd -V
> Version 3.4.7
> /usr/sbin/smbd -V
> Version 3.6.3

ищут же себе люди приключений на одно место. Вы changelog смотрели вообще? Там столько изменений было.

Какая версия smbldap-tools?


"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено teddy_val , 21-Янв-13 17:59 
>> /usr/sbin/smbd -V
>> Version 3.4.7
>> /usr/sbin/smbd -V
>> Version 3.6.3
> ищут же себе люди приключений на одно место. Вы changelog смотрели вообще?
> Там столько изменений было.

Согласен с вами, но разговор идет про заливку для новых продакш серверов. Пока все стабильно работает на OpenSuse11.1 и Ubuntu 10.04.4 LTS.
Но, согласисешь очень удобно обновлять все паке из актуального репозитария. Да и поддержка нового оборудование новым ядром избавляет от танцев с новыми сетевыми картами и т.д. но сейчас не об этом.
> Какая версия smbldap-tools?

0.9.7-1ubuntu1
Пока пробую настроить все используя стандартные репозитории Ubuntu 12.04


"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено ALex_hha , 22-Янв-13 00:07 
>>> /usr/sbin/smbd -V
>>> Version 3.4.7
>>> /usr/sbin/smbd -V
>>> Version 3.6.3
>> ищут же себе люди приключений на одно место. Вы changelog смотрели вообще?
>> Там столько изменений было.
> Согласен с вами, но разговор идет про заливку для новых продакш серверов.
> Пока все стабильно работает на OpenSuse11.1 и Ubuntu 10.04.4 LTS.
> Но, согласисешь очень удобно обновлять все паке из актуального репозитария.

не соглашусь, по крайней мере то, что касается КД.

# smbd -V
Version 3.4.17

меня вот полностью устраивает и перелазить на 3.5 или 3.6 нет никакого желания :) Но это уже дело вкуса

> 0.9.7-1ubuntu1

а была какая? Если 0.9.6, то скорее всего надо воспользоваться скриптом /usr/share/doc/smbldap-tools-0.9.8/smbldap-upgrade-0.9.6.pl


"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено teddy_val , 24-Янв-13 18:20 
>[оверквотинг удален]
>>> ищут же себе люди приключений на одно место. Вы changelog смотрели вообще?
>>> Там столько изменений было.
>> Согласен с вами, но разговор идет про заливку для новых продакш серверов.
>> Пока все стабильно работает на OpenSuse11.1 и Ubuntu 10.04.4 LTS.
>> Но, согласисешь очень удобно обновлять все паке из актуального репозитария.
> не соглашусь, по крайней мере то, что касается КД.
> # smbd -V
> Version 3.4.17
> меня вот полностью устраивает и перелазить на 3.5 или 3.6 нет никакого
> желания :) Но это уже дело вкуса

Вот по поводу Самбы дело не просто в обновлении. Есть у нас наприятные моменты по работе самбы с некоторыми версиями после 3.0.23(А тут наблюдается проблема при работе Win7). В какой-то момент smbd начинать жрать 100% cpu и сервер недоступен 1-10 мин. Что только не делали (вплоть до переноса всего файла с самбы, и замены всего железа, обновления самбы и т.д.) Ну это другая история, но в том числи и поэтому пробуем перейти на другой дистр.

>> 0.9.7-1ubuntu1
> а была какая? Если 0.9.6, то скорее всего надо воспользоваться скриптом /usr/share/doc/smbldap-tools-0.9.8/smbldap-upgrade-0.9.6.pl

Прошу извинить за задержки с ответами.
Сложно сказать какая версия использовалась, т.к. эти скрипты качуют с сервера на сервер с заливки на заливку уже лет 5-6.
ls /usr/share/doc/smbldap-tools/
changelog.Debian.gz  CONTRIBUTORS  copyright  examples  INFRA  README  README.Debian.gz  smbldap-tools.html  smbldap-tools.pdf.gz  TODO
Все файлы устанавливаются по-умолчанию в /usr/sbin
И доступны следующие скрипты:
smbldap-groupadd   smbldap-grouplist  smbldap-groupshow  smbldap-populate   smbldap-userdel    smbldap-userlist   smbldap-usershow
smbldap-groupdel   smbldap-groupmod   smbldap-passwd     smbldap-useradd    smbldap-userinfo   smbldap-usermod

Проблема в одном скрипте smbldap-useradd
Печему-то он не может найти sambaUnixIdPool в лдап базе но такое поле в базе присутсвует:
# NextFreeUnixId, ufa, blabla, su
dn: cn=NextFreeUnixId,ou=ufa,o=blabla,c=su
objectClass: inetOrgPerson
objectClass: sambaUnixIdPool
cn: NextFreeUnixId
sn: NextFreeUnixId
gidNumber: 1011
uidNumber: 1309

Правда нашел еще один блок в базе....
# NextFreeUnixId, BALTblabla, blabla, SU
dn: cn=NextFreeUnixId,ou=BALTblabla,o=blabla,c=SU
objectClass: inetOrgPerson
objectClass: sambaUnixIdPool
cn: NextFreeUnixId
sn: NextFreeUnixId
gidNumber: 2007
uidNumber: 228

Собака где-то тут порылась...


"Перестал работать домен после обновления до Ubuntu 12.04"
Отправлено ALex_hha , 26-Янв-13 00:15 
> Вот по поводу Самбы дело не просто в обновлении. Есть у нас
> наприятные моменты по работе самбы с некоторыми версиями после 3.0.23(А тут
> наблюдается проблема при работе Win7). В какой-то момент smbd начинать жрать
> 100% cpu и сервер недоступен 1-10 мин. Что только не делали
> (вплоть до переноса всего файла с самбы, и замены всего железа,
> обновления самбы и т.д.) Ну это другая история, но в том
> числи и поэтому пробуем перейти на другой дистр.

ну хз 150 Win 7, как x86 так и x64 - проблем не наблюдаю

>[оверквотинг удален]
> Правда нашел еще один блок в базе....
> # NextFreeUnixId, BALTblabla, blabla, SU
> dn: cn=NextFreeUnixId,ou=BALTblabla,o=blabla,c=SU
> objectClass: inetOrgPerson
> objectClass: sambaUnixIdPool
> cn: NextFreeUnixId
> sn: NextFreeUnixId
> gidNumber: 2007
> uidNumber: 228
> Собака где-то тут порылась...

вот содержимое скрипта


use strict;
use warnings;
use smbldap_tools;

my $base_attr = "sambaAlgorithmicRidBase";
my $base_value = 1000;

my $ldap = eval { connect_ldap_master(); };
if ($@) {
    ## Not configured?
    die "$0: ERROR: Connecting to LDAP master failed: $@\n";
}

my $search = $ldap->search(
    base => $config{suffix},
    filter => "(objectClass=sambaDomain)",
    scope => "sub",
    attrs => [$base_attr],
);
if ($search->code) {
    ## Not configured?
    die "$0: ERROR: Searching for sambaDomain object failed: " . $search->error . "\n";
}

for my $entry ($search->entries) {
    next if (defined($entry->get_value($base_attr)));
    print "$0: Adding $base_attr to " . $entry->dn . " ...\n";
    my $modify = $ldap->modify($entry->dn, add => [$base_attr => $base_value]);
    if ($modify->code) {
        die "$0: ERROR: Cannot add $base_attr to " . $entry->dn . ": " . $modify->error . "\n";
    }
}

exit(0);