The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
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 PAC

          smb.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, !*! 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

    без него у меня вход под доменным бюджетом не проходил.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру