Bug 654

Summary: Не работает авторизация в домене через wine
Product: WINE@Etersoft Reporter: Boris Savelev <boris>
Component: Ключи защиты ; Системы защиты ; Файл лицензииAssignee: BUGS@Etersoft <bugs>
Status: CLOSED INVALID QA Contact:
Severity: normal    
Priority: P5 CC: aurimas, lav, olezha, saa, sin
Version: 1.0.7   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: 11915 Связано с:
Дата напоминания:
Bug Depends on: 1480    
Bug Blocks: 492, 1419, 8900    

Description Boris Savelev 2007-06-27 16:45:20 MSD
проверяли в odbcad32.exe
trace:ntlm:fork_helper "ntlm_auth" "ntlm_auth" "--version"
trace:ntlm:check_version Checking version of helper
trace:ntlm:check_version Exact version is "Version 3.0.25"
trace:ntlm:check_version Version recognized: 3.0.25
trace:ntlm:cleanup_helper Killing helper 0x7fe0a0b0
trace:ntlm:fork_helper "ntlm_auth" "ntlm_auth" "--version"
trace:ntlm:check_version Checking version of helper
trace:ntlm:check_version Exact version is "Version 3.0.25"
trace:ntlm:check_version Version recognized: 3.0.25
trace:ntlm:cleanup_helper Killing helper 0x7fe0a380

задумано, видимо, что авторизация должна проходить через утилиту ntlm_auth и winbind из samba. не ясно откуда берется пароль. лучше сделать авторизацию через керберос используя Default principal.
Comment 1 Vitaly Lipatov 2008-11-20 13:15:19 MSK
По логу видно, что ntlm_auth вызвается и его версия подходит.
Итак, как проверять:
1. Завести в домен пользователя, и проверить на Windows, что его пускают в домен.
2. Проверить, что этого же пользователя пускают через утилиту ntlm_auth.
3. Найти (написать) для Windows простенькую программу, которая будет аутентифицироваться в домене.
4. Проверить, что она работает.
5. Проверить, что работает аутентификация через ODBC.
Comment 2 Vitaly Lipatov 2008-11-20 17:24:11 MSK
В результате хотелось бы видеть документацию на
http://winehq.org.ru/NTLM
Comment 3 Семенов Александр Алексеевич 2008-12-04 14:49:23 MSK
Добрый день.
Я так понимаю, что важная для меня задача 1419 сможет быть решена только после решения данной баги. Скажите, есть ли какие-то планы по ее решению?
Comment 4 Vitaly Lipatov 2008-12-04 18:27:28 MSK
1. Домен office.etersoft.ru (машина win2k3), пользователь test пароль 123
2. после настройки получаем:
$ ntlm_auth --username=test
password:
NT_STATUS_OK: Success (0x0)
3. Как вариант, использовать RDP-клиента от MS
http://bugs.etersoft.ru/show_bug.cgi?id=1419#c13

5.
Получили от SQL сервера ошибку "Не удается генерировать контекст SSPI".
("Cannot generate SSPI context")

Пришли к выводу, что без поддержки Kerberos и наличия тикета ничего не получится (именно с SQL-сервером).
Comment 5 Vitaly Lipatov 2008-12-09 14:01:45 MSK
Говорят, это должно работать через NTLMSSP, включаемый в smb.conf:
client ntlmv2 auth = yes

Но у меня сейчас вообще к ntlm не обращается, возможно нужно проверять в чистой бутылке, как минимум должно что-то выводится при WINEDEBUG=+ntlm

У меня вот какие обращения к реестру:
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\ConnectTo",20019,0x32ca64)
trace:reg:NtOpenKey <- 0x64
trace:reg:RegQueryValueExW (0x64,L"WIN2K3",(nil),(nil),0x32ca90,0x32ca60=160)
trace:reg:NtQueryValueKey (0x64,L"WIN2K3",2,0x32c824,172)
trace:reg:NtQueryValueKey (0x20,L"DBNETLIB",2,0x32b7dc,80)
trace:reg:NtQueryValueKey (0x20,L"*DBNETLIB",2,0x32b7dc,80)
trace:reg:NtQueryValueKey (0x20,L"WSOCK32",2,0x32b48c,80)
trace:reg:NtQueryValueKey (0x20,L"*WSOCK32",2,0x32b48c,80)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\SuperSocketNetLib\\",1,0x32b700)
trace:reg:NtOpenKey <- 0x64
trace:reg:RegQueryValueExA (0x64,"Encrypt",(nil),(nil),0x32b6f4,0x32b70c=4)
trace:reg:NtQueryValueKey (0x64,L"Encrypt",2,0x32adac,256)
trace:reg:RegQueryValueExA (0x64,"ProtocolOrder",(nil),(nil),0x32b5e0,0x32b70c=128)
trace:reg:NtQueryValueKey (0x64,L"ProtocolOrder",2,0x32adac,256)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\SuperSocketNetLib\\Tcp",1,0x32b700)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\SuperSocketNetLib\\Spx",1,0x32b700)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\SuperSocketNetLib\\Adsp",1,0x32b700)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\SuperSocketNetLib\\Np",1,0x32b700)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\SuperSocketNetLib\\Via",1,0x32b700)
trace:reg:NtOpenKey <- 0x64
trace:reg:RegQueryValueExA (0x64,"Vendor",(nil),(nil),0x32b460,0x32b70c=256)
trace:reg:NtQueryValueKey (0x64,L"Vendor",2,0x32adac,256)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\SuperSocketNetLib\\LastConnect",3,0x74cbc21c)
trace:reg:NtOpenKey <- 0x64
trace:reg:RegQueryInfoKeyA (0x64,(nil),0,(nil),(nil),(nil),0x32aebc,0x32aed0,0x32aecc,(nil),(nil))
trace:reg:RegEnumValueA (0x64,0,0x4410d0,0x32aeb8,(nil),(nil),0x440f68,0x32aeb4)
trace:reg:NtEnumerateValueKey (0x64,0,1,0x32ac70,256)
trace:reg:NtQueryValueKey (0x20,L"security",2,0x32b39c,80)
trace:reg:NtQueryValueKey (0x20,L"*security",2,0x32b39c,80)
trace:reg:NtQueryValueKey (0x20,L"crypt32",2,0x32b324,80)
trace:reg:NtQueryValueKey (0x20,L"MSOSS",2,0x32afd4,80)
trace:reg:NtOpenKey ((nil),L"Machine\\System\\CurrentControlSet\\Control\\ComputerName",f003f,0x32b5a0)
trace:reg:NtOpenKey <- 0x7c
trace:reg:NtOpenKey (0x7c,L"ActiveComputerName",f003f,0x32b59c)
trace:reg:NtOpenKey <- 0x8c
trace:reg:NtQueryValueKey (0x8c,L"ComputerName",2,0x32b5a4,44)
trace:reg:NtQueryValueKey (0x20,L"ntdsapi",2,0x32b71c,80)
trace:reg:NtQueryValueKey (0x20,L"*ntdsapi",2,0x32b71c,80)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\ODBCAppCompat",20019,0x32c36c)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\Compatability\\OEMTOANSI",20019,0x32c36c)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\Compatability\\TRANSLATIONS",20019,0x32c36c)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\Compatability\\CONNECTIONPEEK",20019,0x32c36c)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\Microsoft\\MSSQLServer\\Client\\Compatability\\RESETCONNECTION",20019,0x32c36c)
trace:reg:NtOpenKey <- (nil)
trace:reg:NtCreateKey (0x38,L"Software\\Description\\Microsoft\\Rpc\\UuidTemporaryData",L"",1,3,0x1fa1024c)
trace:reg:NtCreateKey <- 0x8c
trace:reg:RegQueryValueExA (0x8c,"NetworkAddress",(nil),(nil),0x5b6e5c,0x32c374=6)
trace:reg:NtQueryValueKey (0x8c,L"NetworkAddress",2,0x32c23c,256)
trace:reg:RegQueryValueExA (0x8c,"NetworkAddressLocal",(nil),(nil),0x32c370,0x32c374=4)
trace:reg:NtQueryValueKey (0x8c,L"NetworkAddressLocal",2,0x32c23c,256)
trace:reg:NtOpenKey (0x30,L"SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources",20019,0x32e8f4)
trace:reg:NtOpenKey <- 0x58
trace:reg:RegEnumValueW (0x58,0,0x4422e8,0x32e8f8,(nil),(nil),(nil),(nil))
trace:reg:NtEnumerateValueKey (0x58,0,1,0x32e358,256)
trace:reg:RegEnumValueW (0x58,1,0x4422f2,0x32e8f8,(nil),(nil),(nil),(nil))
trace:reg:NtEnumerateValueKey (0x58,1,1,0x32e358,256)
trace:reg:NtOpenKey (0x30,L"SOFTWARE\\ODBC\\ODBC.INI\\ODBC Data Sources",20019,0x32e8f4)
trace:reg:NtOpenKey <- 0x58
trace:reg:RegQueryValueExW (0x58,L"MQIS",(nil),0x32e924,0x4444e8,0x32e8fc=256)
trace:reg:NtQueryValueKey (0x58,L"MQIS",2,0x32e36c,256)
trace:reg:NtOpenKey (0x38,L"SOFTWARE\\ODBC\\ODBCINST.INI\\Default",20019,0x32e8f4)
trace:reg:NtOpenKey <- (nil)
Comment 6 Vitaly Lipatov 2009-11-29 14:37:01 MSK
Также проблема актуальна для 1С 8.1/8.2.

Ubuntu 9.10 Desktop. Входит в домен программой Likewise 5. Клиент-серверная 1С предлагает выбрать пользователя, не авторизуясь в домене.
Comment 7 Vitaly Lipatov 2012-01-18 02:54:30 MSK
Больше не поручаем заданий bugs@.
Comment 8 Олег Шевченко 2024-04-15 20:29:54 MSK
Закрыта.