Samba-3.0.23c, Kerberos и W2K Srv AD, Дмитрий, 09-Ноя-06, 13:29 [смотреть все]Доброго времени суток Итак, имеется сабж на FreeBSD-5.3 в качестве файл-сервера, самба собрана из исходников с поддержкой LDAP, ADS, Kerberos, winbind. Также установлен из портов heimdal-0.6.3_3. Проблема в следующем: при попытке зайти на шару выдается окно с предложением ввести логин/пароль но их не принимает и, соответственно, никого на шару не пускает. В логах наблюдаю следующее:=== [2006/11/09 10:47:00, 3] libads/kerberos_verify.c:ads_secrets_verify_ticket(261) ads_secrets_verify_ticket: enc type [1] failed to decrypt with error Message size is incompatible with encryption type [2006/11/09 10:47:00, 3] libads/kerberos_verify.c:ads_secrets_verify_ticket(261) ads_secrets_verify_ticket: enc type [3] failed to decrypt with error Message size is incompatible with encryption type [2006/11/09 10:47:00, 10] libads/kerberos_verify.c:ads_secrets_verify_ticket(252) ads_secrets_verify_ticket: enc type [23] decrypted message ! === Не совсем понятно: после перебора криптометодов сообщение таки было расшифровано или таки нет? Далее пытаюсь зарегистрироваться юзером srvadmin (Администратор домена): === [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_alloc(131) Finding user SGNI\srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(75) Trying _Get_Pwnam(), username as lowercase is sgni\srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(83) Trying _Get_Pwnam(), username as given is SGNI\srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(93) Trying _Get_Pwnam(), username as uppercase is SGNI\SRVADMIN [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(102) Checking combinations of 0 uppercase letters in sgni\srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(108) Get_Pwnam_internals didn't find user [SGNI\srvadmin]! [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_alloc(131) Finding user srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(75) Trying _Get_Pwnam(), username as lowercase is srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(93) Trying _Get_Pwnam(), username as uppercase is SRVADMIN [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(102) Checking combinations of 0 uppercase letters in srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(108) Get_Pwnam_internals didn't find user [srvadmin]! [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_alloc(131) Finding user srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(75) Trying _Get_Pwnam(), username as lowercase is srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(93) Trying _Get_Pwnam(), username as uppercase is SRVADMIN [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(102) Checking combinations of 0 uppercase letters in srvadmin [2006/11/09 10:47:00, 5] lib/username.c:Get_Pwnam_internals(108) Get_Pwnam_internals didn't find user [srvadmin]! [2006/11/09 10:47:00, 1] smbd/sesssetup.c:reply_spnego_kerberos(310) Username SGNI\srvadmin is invalid on this system [2006/11/09 10:47:00, 3] smbd/error.c:error_packet(146) error packet at smbd/sesssetup.c(315) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE === Почему, в чем дело? Из-за чего юзер не находится? Kerberos настроен - самба успешно регистрируется в домене, протокол - вроде как 5-ый: krb5.conf: === [libdefaults] default_realm = 0905.DN.STA dns_lookup_realm = false dns_lookup_kdc = false krb4_get_tickets = false default_etypes = des-cbc-crc des-cbc-md5 default_etypes_des = des-cbc-crc des-cbc-md5 [appdefaults] proxiable = true ticket_lifetime = 24000 [realms] 0905.DN.STA = { kdc = zeon.0905.dn.sta:88 admin_server = zeon.0905.dn.sta:749 default_domain = 0905.dn.sta } [domain_realm] .0905.dn.sta = 0905.dn.STA 0905.dn.sta = 0905.DN.STA [kdc] enable-kerberos4 = false [logging] default = FILE:/var/log/kerberos/krb5libs.log kdc = FILE:/var/log/kerberos/krb5kdc.log admin_server = FILE:/var/log/kerberos/kadmind.log === klist выдает следующее: === Credentials cache: FILE:/tmp/krb5cc_0 Principal: srvadmin@0905.DN.STA Issued Expires Principal Nov 9 11:36:47 Nov 9 18:16:41 krbtgt/0905.DN.STA@0905.DN.STA === smb.conf: === [global] dos charset = 866 unix charset = KOI8-U workgroup = SGNI realm = 0905.DN.STA server string = File server interfaces = 10.5.9.0/24 security = ADS auth methods = winbind private dir = /etc/samba passdb backend = tdbsam:/etc/samba/passdb.tdb lanman auth = No client NTLMv2 auth = Yes client lanman auth = No client plaintext auth = No log level = 10 ads:10 log file = /var/log/samba/samba.log max log size = 0 announce as = win95 client signing = Yes server signing = Yes deadtime = 360 paranoid server security = No max open files = 100000 load printers = No show add printer wizard = No os level = 8 preferred master = Yes dns proxy = No log level = 10 ads:10 log file = /var/log/samba/samba.log max log size = 0 announce as = win95 client signing = Yes server signing = Yes deadtime = 360 paranoid server security = No max open files = 100000 load printers = No show add printer wizard = No os level = 8 preferred master = Yes dns proxy = No ldap ssl = no idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = Yes winbind enum groups = Yes winbind use default domain = Yes winbind trusted domains only = Yes winbind refresh tickets = Yes hosts allow = 10.5.9. map acl inherit = Yes case sensitive = No hide unreadable = Yes [pub] comment = pubic access path = /pub valid users = @SGNI\it guest ok = Yes === В событиях на вынь-сервере ничего не фиксируется. Пробовал удалять данные о компе из домена и регистрироваться по-новой - безрезультатно. Время с сервером синхронизировано, в /etc/hosts вынь-сервер и фри-машина прописаны - FQDN -имена получаю. Куда смотреть, что делать, где ошибка?
|
- Samba-3.0.23c, Kerberos и W2K Srv AD, xasm, 00:48 , 16-Ноя-06 (1)
> >Куда смотреть, что делать, где ошибка? теже грабли!!!!!!!!!!!!!!!!!!!!
уже с 2 недели мучаюсь ..скро уволят нафиг..хотя помню чот на 5 фре и старой самбе все заводилось вобще есть тут люди которые сумели 3 самбу и 6 фрю в винде через адс прикрутить
если да напишите версии пакетов и листинг конфигов xasm
- Samba-3.0.23c, Kerberos и W2K Srv AD, Дмитрий, 18:11 , 20-Ноя-06 (2)
Ладно, сформулирую вопрос иначе: как я уже упомянул, самба с доменом нормально "общается", т.е. команды wbinfo -u, -g, -t, -p, net ... отрабатывают, регистрация в домене проходит успешно, но вот команда "id юзер_домена" оного юзера не находит, то-есть, выходит, что самба не отображает доменных юзеров во фрю. Почему?/etc/nsswitch.conf === group: files winbind hosts: files dns nis networks: files winbind passwd: files winbind shadow: files winbind shells: files winbind ===
- Samba-3.0.23c, Kerberos и W2K Srv AD, sha, 04:48 , 21-Ноя-06 (3)
У меня так: (debian)# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat winbind group: compat winbind shadow: compat hosts: files dns mdns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
- Samba-3.0.23c, Kerberos и W2K Srv AD, Дмитрий, 10:39 , 22-Ноя-06 (4)
>У меня так: (debian) Спасибо, попробовал, но результат тот же - никакого результата. Да и моя вышеприведенная конфигурация вполне себе успешно работает на двух серверах. Буду курить > # If you have the `glibc-doc' and `info' packages installed, try: > # `info libc "Name Service Switch"' for information about this file.
- Samba-3.0.23c, Kerberos и W2K Srv AD, Basileo, 14:41 , 22-Ноя-06 (5)
Такая же ситуация случилась при обновлении с 3.0.22 на 3.0.23. Пришлось откатывать обратно... Может в 3.0.23d этого уже нет?? Сам пробовать пока не хочу)
- Samba-3.0.23c, Kerberos и W2K Srv AD, Дмитрий, 16:04 , 22-Ноя-06 (6)
>Такая же ситуация случилась при обновлении с 3.0.22 на 3.0.23. Пришлось откатывать >обратно... Может в 3.0.23d этого уже нет?? Сам пробовать пока не >хочу) Уже дней пять как ковыряю 3.0.23d - ситуация та же. Так что можно и не пробовать - обновление не поможет (мне по крайней мере). Самое интересное, что новую самбу и под NTLM-аутентификацией в домен не могу загнать. Т.е. вообще никак не идет. А вот старая (3.0.20) - без проблем включается в домен под NT-style... А у Вас тоже "id юзер_домена" не видела этих злочастных доменных юзеров или в чем-то другом проблема была?
- Samba-3.0.23c, Kerberos и W2K Srv AD, Basileo, 17:37 , 22-Ноя-06 (7)
Сейчас уже не подскажу, в августе было дело.. не помню. Не пускала Самба никого на шары. У меня сквид с авторизацией в АД, после обновления самбы - никого в инет пускать не хотел)) поэтому эксперименты закончил пока с этим. Домен win2000 Native. Второй домен Win2003 Native. Samba 3.0.22. Все работает. - Samba-3.0.23c, Kerberos и W2K Srv AD, Дмитрий, 17:58 , 22-Ноя-06 (8)
Есть контакт! :) Есть такая либа - nss_winbind.so, создаваемая при сборке в сорцах самбы по пути source/nsswitch/. При установке самбы из сорцов она (либа) никуда не инсталлится. Скопировав ручками ее в /lib и создав на всякий случай симлинк nss_winbind.so.1 самба НАКОНЕЦ-ТО заработала как полноценный член AD. Вот конфиги, с которыми уже работает (доводить, конечно, еще кое-что нужно).smb.conf === [global] dos charset = 866 unix charset = KOI8-U workgroup = SGNI server string = Test interfaces = 10.5.9.0/24 auth methods = winbind obey pam restrictions = Yes password server = 10.5.9.3 10.5.9.6 private dir = /etc/samba passdb backend = tdbsam lanman auth = No ntlm auth = No client lanman auth = Yes client plaintext auth = Yes log level = 10 log file = /var/log/samba/samba.log max log size = 0 deadtime = 360 paranoid server security = No max open files = 100000 load printers = No show add printer wizard = No os level = 8 preferred master = Yes dns proxy = No idmap uid = 10000-20000 idmap gid = 10000-20000 winbind use default domain = Yes hosts allow = 10.5.9. map acl inherit = Yes case sensitive = No hide unreadable = Yes security = ADS realm = 0905.DN.STA allow trusted domains = Yes fam change notify = No client signing = Yes server signing = Yes ldap ssl = no winbind enum users = Yes winbind enum groups = Yes winbind nested groups = No winbind refresh tickets = Yes [pub] comment = For sysadmins path = /pub guest ok = Yes valid users="@SGNI\it" === nsswitch.conf === group:files winbind hosts:files dns nis networks:files winbind passwd:files winbind shadow:files winbind shells:files winbind ===
- Samba-3.0.23c, Kerberos и W2K Srv AD, Basileo, 10:00 , 23-Ноя-06 (9)
РЕСПЕКТ!!! Проверю у себя на досуге, заработает ли. Спасибо, за то что выложили решение проблемы! - Samba-3.0.23c, Kerberos и W2K Srv AD, VVD, 20:18 , 19-Янв-07 (10)
После апгрейда c 3.0.22 на 3.0.23 самба перестала пускать на шары с сообщениями в логах: [2006/12/14 17:28:38, 2] lib/access.c:check_access(323) Allowed connection from (10.0.0.27) [2006/12/14 17:28:39, 2] smbd/service.c:make_connection_snum(580) user 'user_name' (from session setup) not permitted to access this share (share_name) [2006/12/14 17:28:46, 2] lib/access.c:check_access(323) Allowed connection from (10.0.0.27) [2006/12/14 17:28:46, 2] smbd/sesssetup.c:setup_new_vc_session(799) setup_new_vc_session: New VC == 0, if NT4.x compatible we would close all old resources. [2006/12/14 17:28:46, 0] libads/authdata.c:decode_pac_data(797) decode_pac_data: failed to parse PAC [2006/12/14 17:28:46, 1] smbd/sesssetup.c:reply_spnego_kerberos(310) Username DOMAIN_NAME+COMPUTER_NAME$ is invalid on this system [2006/12/14 17:28:46, 2] smbd/sesssetup.c:setup_new_vc_session(799) setup_new_vc_session: New VC == 0, if NT4.x compatible we would close all old resources. [2006/12/14 17:28:46, 0] libads/authdata.c:decode_pac_data(797) decode_pac_data: failed to parse PACsmb.conf не менялся (security=ads) net ads join проходит нормально wbinfo -t, wbinfo -u работает нормально А вот зайти на как раньше с win машин не могу. $ls /usr/local/lib/nss_winbind.so* /usr/local/lib/nss_winbind.so -> nss_winbind.so.1 /usr/local/lib/nss_winbind.so.1 $ cat /etc/nsswitch.conf group: compat group_compat: nis hosts: files dns networks: files passwd: compat passwd_compat: nis shells: files Пытался прописывать winbind в nsswitch.conf - не помогает. Может неправильно вписывал - а как надо? Что ещё показать?
- Samba-3.0.23c, Kerberos и W2K Srv AD, Дмитрий, 20:59 , 19-Янв-07 (11)
Навскидку: похоже, что проблема с Kerberos-билетами:>[2006/12/14 17:28:46, 0] libads/authdata.c:decode_pac_data(797) > decode_pac_data: failed to parse PAC PAC - Privilege Attribute Certificate - это Kerberos-данные про юзера, его права, к каким группам он принадлежит и т.п. Судя по ошибке, самба их не может обработать. Возможно, парсинг этих данных невозможен по следующим причинам: - в качестве winbind separator используется "+"? Если да - смените на дефолтный, разработчики не рекомендуют использовать "+" как разделитель; - имена юзеров, которым разрешено/запрещено входить на шару прописаны как @ДОМЕН\юзер? Если нет - пропишите так, ЕМНИП, с версии 3.0.23 это ОБЯЗАТЕЛЬНОЕ условие. >Что ещё показать? На конфиг самбы можно бы взглянуть... :)
- Samba-3.0.23c, Kerberos и W2K Srv AD, VVD, 23:44 , 19-Янв-07 (12)
$ grep -Ev '^#|^;|^[ ]*$' /usr/local/etc/smb.conf [global] workgroup = DOMAIN netbios name = GW message command = /bin/sh -c '/root/bin/winpopup.sh %s %f %m' & time server = True server string = GateWay security = ads auth methods = winbind hosts allow = 10.0.0.0/24 127.0.0.1 load printers = no log file = /var/log/samba/log.%m max log size = 50 log level = 2 password server = 10.0.0.3 encrypt passwords = yes nt acl support = Yes name resolve order = wins host bcast lmhosts guest ok = No realm = DOMAIN.LOCAL socket options = TCP_NODELAY interfaces = 10.0.0.1 127.0.0.1 bind interfaces only = yes local master = no os level = 0 domain master = no preferred master = no domain logons = no wins support = no wins server = 10.0.0.3 dns proxy = no display charset = koi8-r unix charset = koi8-r dos charset = cp866 #делал по разному: и "+" и "\" и вообще убирал параметр winbind separator = \ winbind use default domain = yes winbind uid = 10000-20000 winbind gid = 10000-20000 winbind enum users = yes winbind enum groups = yes [pub] path = /pub browseable = no writable = yes guest ok = no public = no printable = no valid users = DOMAIN\user1 DOMAIN\user2 DOMAIN\user3 DOMAIN\COMPUTER$ user1 user2 user3 COMPUTER$ force user = existing_local_user$ cat /etc/krb5.conf [libdefaults] default_realm = DOMAIN.LOCAL [realms] DOMAIN.LOCAL = { kdc = server.domain.local admin_server = server.domain.local } #server.domain.local - win2k domain controller Что лучше оставить в winbind separator и в valid users?
- Samba-3.0.23c, Kerberos и W2K Srv AD, awsswa, 14:46 , 23-Янв-07 (13)
>Что лучше оставить в winbind separator и в valid users? winbind separator - можно вообще из конфига выбросить, по умолчанию там правильный "\"
- Samba-3.0.23c, Kerberos и W2K Srv AD, VVD, 17:49 , 23-Янв-07 (14)
>>Что лучше оставить в winbind separator и в valid users? > winbind separator - можно вообще из конфига выбросить, по умолчанию там >правильный "\" # man smb.conf /winbind separator winbind separator (G) This parameter allows an admin to define the character used when listing a username of the form of DOMAIN \fIuser. This parameter is only applicable when using the pam_winbind.so and nss_winbind.so modules for UNIX services. Please note that setting this parameter to + causes problems with group membership at least on glibc systems, as the character + is used as a special character for NIS in /etc/group. Default: winbind separator = '' Example: winbind separator = +
- Samba-3.0.23c, Kerberos и W2K Srv AD, VVD, 18:25 , 23-Янв-07 (15)
winbind separator убрал valid users = @DOMAIN\user1 @DOMAIN\user2 @DOMAIN\user3 @DOMAIN\COMPUTER$ user1 user2 user3 COMPUTER$Ничего не изменилось - тежи ошибки в логах. :-(
- Samba-3.0.23c, Kerberos и W2K Srv AD, glitch, 12:49 , 09-Фев-07 (16)
>>Что лучше оставить в winbind separator и в valid users? > winbind separator - можно вообще из конфига выбросить, по умолчанию там >правильный "\" А если поставить winbind separator = \ testparm -a | grep separator: winbind separator = template shell = /bin/bash т.е. захватывает следующую строчку [samba-3.0.23d из портов] Не "\" не '\' не \\ не канают, testparm: ERROR: the 'winbind separator' parameter must be a single character. Samba-HOWTO-collection/winbind.html: Example 24.1. smb.conf for Winbind Setup [global] # separate domain and username with '\', like DOMAIN\username winbind separator = \ # use uids from 10000 to 20000 for domain users ... :D)
- Samba-3.0.23c, Kerberos и W2K Srv AD, glitch, 18:58 , 09-Фев-07 (17)
>Далее пытаюсь зарегистрироваться юзером srvadmin (Администратор домена): ... >[2006/11/09 10:47:00, 3] smbd/error.c:error_packet(146) > error packet at smbd/sesssetup.c(315) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE >=== >Почему, в чем дело? Из-за чего юзер не находится? > >Kerberos настроен - самба успешно регистрируется в домене, протокол - вроде как >5-ый: Может быть это и не в тему: если используется pam_winbind, нужно в аргументах его вызова krb5_auth для ads, т.е. auth sufficient pam_winbind.so krb5_auth без него у меня вход под доменным бюджетом не проходил.
|