LINUX.ORG.RU
ФорумAdmin

no reply received to cldap netlogon => samba+squid+AD+win2k3


0

0

Нужно пускать ~200 юзеров в нет через проксю squid, авторизация через AD по логинам/пассам. домен под win2k3.

Есть некоторые проблемы при вводе в домен.
Для начала:
$ uname -a
Linux test 2.6.18-1.2849.fc6 #1 SMP Fri Nov 10 12:36:14 EST 2006 i686 i686 i386 GNU/Linux

$ rpm -qa |grep -i -e ldap -e krb
krb5-devel-1.5-7
krb5-libs-1.5-7
pam_krb5-2.2.11-1
krb5-workstation-1.5-7
openldap-2.3.27-4
openldap-devel-2.3.27-4
nss_ldap-257-4.fc6

samba ставил из сырцов

$ smbd -V
Version 3.0.28a

$ cat /etc/hosts
::1             test       localhost.localdomain   localhost
127.0.0.1       test.main.domain.by localhost test
10.130.129.33           test.main.domain.by test
10.130.129.52           test
10.1.100.133            main.domain.by
$ping main.domain.by
PING main.domain.by (10.1.100.133) 56(84) bytes of data.
64 bytes from main.domain.by (10.1.100.133): icmp_seq=1 ttl=127 time=1.19 ms
64 bytes from main.domain.by (10.1.100.133): icmp_seq=2 ttl=127 time=0.436 ms
$ nslookup main.domain.by
Server:         10.1.100.133
Address:        10.1.100.133#53

Name:   main.domain.by
Address: 10.130.129.100
Name:   main.domain.by
Address: 10.1.100.133
Name:   main.domain.by
Address: 10.254.0.2
Name:   main.domain.by
Address: 10.1.100.181
Name:   main.domain.by
Address: 10.1.100.182
Name:   main.domain.by
Address: 10.144.129.30
Name:   main.domain.by
Address: 10.254.0.3

$ grep -e "HAVE_KRB5 " -e "WITH_ADS" /home/user/samba-3.0.28a/source/include/config.h
#define HAVE_KRB5 1
#define WITH_ADS 1

# cat /etc/krb5.conf
[logging]
        default = FILE:/var/log/krb5libs.log
        kdc = FILE:/var/log/krb5kdc.log
        admin_server = FILE:/var/log/kadmind.log


[libdefaults]
        default_realm = MAIN.DOMAIN.BY
        dns_lookup_realm = false
        dns_lookup_kdc = false
#       ticket_lifetime =

[realms]
        MAIN.DOMAIN.BY = {
#               admin_server = SRV-DC-002.MAIN.DOMAIN.BY
                admin_server = 10.1.100.133
#               kdc = SRV-DC-002.MAIN.DOMAIN.BY
                kdc = 10.1.100.133
#               kpasswd_server = SRV-DC-002.MAIN.DOMAIN.BY
                kpasswd_server = 10.1.100.133
                default_domain = MAIN.DOMAIN.BY
# main.domain.by
        }

[domain_realm]
        .main.domain.by = MAIN.DOMAIN.BY
        main.domain.BY = MAIN.DOMAIN.BY

[kdc]



$ cat /usr/local/samba/lib/smb.conf | sed -e '/^$/d' -e '/^#/d' -e '/^;/d'
[global]
   workgroup = DOMAIN
   netbios name = test
   server string = "test serv"
security = ads
   hosts allow = 10. 127.
 #  load printers = yes
   log file = /var/log/samba/%m.log
   max log size = 50000
   password server = 10.1.100.133
        # and AD
        encrypt passwords = yes
winbind uid = 10000-25000
winbind gid = 10000-25000
winbind enum groups = yes
winbind enum users = yes

   realm = MAIN.DOMAIN.BY
   passdb backend = tdbsam
   local master = no
   os level = 0
   domain master = no
   preferred master = no
   domain logons = no
   wins server = 10.1.100.100
   wins proxy = no
   dns proxy = no
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
display charset = UTF-8
dos charset = CP866
unix charset = UTF-8
        log level = 3
[share]
path = /data/public
read list =
write list = 
read only = no
public = yes
writable = yes
browsable = yes
guest ok = yes

# cat /etc/nsswitch.conf
group:      files winbind
passwd:     files winbind
shadow:     files winbind
passwd:     files
shadow:     files
group:      files
#hosts:     db files nisplus nis dns
hosts:      files winbind dns
# Example - obey only what nisplus tells us...
#services:   nisplus [NOTFOUND=return] files
#networks:   nisplus [NOTFOUND=return] files
#protocols:  nisplus [NOTFOUND=return] files
#rpc:        nisplus [NOTFOUND=return] files
#ethers:     nisplus [NOTFOUND=return] files
#netmasks:   nisplus [NOTFOUND=return] files
bootparams: nisplus [NOTFOUND=return] files
ethers:     files
netmasks:   files
networks:   files dns
protocols:  files winbind
rpc:        db files
services:   files winbind
netgroup:   nisplus winbind
publickey:  nisplus
automount:  files winbind
aliases:    files nisplus


Итак:
все вроде как прописано. Получаю билет под рутом для своего юзера из AD (не имеющего право вводить в домен), ntpd запущен, для уверенности предварительно синхронизируемся с сервером
# net time set -> OK

# kinit my_domain_user@MAIN.DOMAIN.BY
Password for my_domain_user@MAIN.DOMAIN.BY:

получаем, смотрю вывод klist.
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: my_domain_user@MAIN.DOMAIN.BY

Valid starting     Expires            Service principal
08/07/08 09:34:33  08/07/08 19:35:14  krbtgt/MAIN.DOMAIN.BY@MAIN.DOMAIN.BY
        renew until 08/14/08 09:34:33
08/07/08 09:35:14  08/07/08 19:35:14  test$@MAIN.DOMAIN.BY
        renew until 08/14/08 09:34:33


Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

далее adminDomain вводит в домен:
# net ads join -U adminDomain%password
Using short domain name -- DOMAIN
Joined 'test' to realm 'MAIN.DOMAIN.BY'


# smbd -D
# winbindd -i -d3
# nmbd -D

Проверяем:
# wbinfo -t
checking the trust secret via RPC calls succeeded
# wbinfo -p
Ping to winbindd succeeded on fd 4
# wbinfo -u
после 50-70 сек выдает
Error looking up domain users

При этом winbindd c debuglevel=4 сыплет мессагами
no reply received to cldap netlogon 
и 
Not a user account? atype=0x30000000  # <-как лечить


повторно:
# wbinfo -u ; wbinfo -u | wc -l
список пользователей
их количество

т.е. отрбатывает, далее

# wbinfo -g ; wbinfo -g | wc -l
список груп
их количество

# wbinfo -D DOMAIN
Name              : DOMAIN
Alt_Name          : MAIN.DOMAIN.BY
SID               : S-1-5-21-1549627856-163330409-526660263
Active Directory  : Yes
Native            : Yes
Primary           : Yes
Sequence          : -1

Теперь сама проблема:
на запрос, тут же вывод
# id my_domain_user     
id: my_domain_user: No such user


По этой причине ставить squid пока не решаюсь...
подозреваю что дело с /etc/nsswitch.conf, но что именно?

Ответ на: комментарий от madcore

madcore спасибо, но уже смотрел

# getent passwd
root:x:0:0:root:/root:/bin/bash
...
squid:x:23:23::/var/spool/squid:/sbin/nologin

т.е. список локальных аккаунтов

сервис nscd не запущен

И еше, интересует такой вывод
# lsof | grep winbindd | grep "nss_winbind.so"
так, как winbindd пользует эту библиотеку. Вывод lsof'a у меня ничего не дал. При компиляции samba : вывод --with-winbind и linking nsswitch/libnss_winbind.so

также для увеенности: создавал ссылки на /lib/libnss_winbind.so, /lib/libnss_winbind.so.2, /lib/nss_winbind.so, /usr/lib/libnss_winbind.so.2, /usr/lib/nss_winbind.so
как и рекомендуют по Samba3-HOWTO.pdf section 24.5 "Installation and Configuration"

а также, это нормально что создатся потомки для winbindd ?:
#ps auxft | grep [w]inbindd
root      4066  0.0  5.5  36436 28788 pts/1    S+   12:19   0:03  |       \_ winbindd -d2 -i
root      4067  0.0  0.6  11716  3144 pts/1    S+   12:19   0:00  |           \_ winbindd -d2 -i
root      4076  0.0  5.0  36444 26132 pts/1    S+   12:25   0:00  |           \_ winbindd -d2 -i
root      4077  0.0  5.0  36436 25884 pts/1    S+   12:25   0:00  |           \_ winbindd -d2 -i

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

Какой дистриб используешь?

Кстати, если по id не находит пользователя, еще не факт что в сквиде не заработает.

Ты пробовал wbinfo -a user%pass ?

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

спасибо за пост amfibrahii

см. выше в посте:
$ uname -a
Linux test 2.6.18-1.2849.fc6 #1 SMP Fri Nov 10 12:36:14 EST 2006 i686 i686 i386 GNU/Linux

т.е fedore core 6.

"Кстати, если по id не находит пользователя, еще не факт что в сквиде не заработает. "  <- был бы рад, но сильно сомневаюсь.

да, по wbinfo -a my_domain_user%pass проходит

Как думаю, у меня samba не пользует libnss_winbind.so, 
# lsof | grep nss_winbind
#
нужно капать с этой стороны

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

> Как думаю, у меня samba не пользует libnss_winbind.so

Помню, я долго мучился с SuSe по той же причине у меня по id не проходило. Забил поставил Gentoo, собрал samba со всем чем надо и все как часа работает сейчас.

Ты бы попробовал все-таки прикрутить. Т.к. с большой вероятностью у тебя все заработает, т.к. winbind у тебя авторизует пользователей. а id тебе нужен был бы если ты к примеру захотел сделать так, чтобы твоя линуксовая машина авторизовалась в домене винды.

Попробуй!:)

amfibrahii
()

Я не уверен, но сомневаюсь по поводу строки

password server = 10.1.100.133

У меня работает без неё.

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

tux2002, не думаю, что дело в ней ( http://samba.org/samba/docs/man/Samba-HOWTO-Collection/domain-member.html#ads-m
ember ). Пробовал, без результата.

amfibrahii, спасибо, но никак. Это в крайнем случае переустановка.
В том, то и дело, что у меня не будет идти авторизация через winbindd, так, как у меня не прикручена libnss_winbind.so.
"Т.к. с большой вероятностью у тебя все заработает, т.к. winbind у тебя авторизует пользователей." <-- у меня скомпилен с поддержкой winbind, но не задействуется /usr/local/samba/sbin/winbindd libnss_winbind.so.

Админы! пожалуйсто, задайте пару постов сюда вывода: $ ldd `which smbd` | grep winbind && $ ldd `which nmbd` | grep winbind $ ldd `which winbindd` | grep winbind


Что напрягает, так это большая задержка после wbinfo -u и сообщение "Not a user account? atype=0x30000000" ровно столько, сколько юзеров в AD

Спасибо

PS "а также, это нормально что создатся потомки для winbindd ?:"
вопрос решен: http://samba.org/samba/docs/man/Samba-HOWTO-Collection/install.html#id2546304

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

ldd `which winbindd`
        linux-gate.so.1 =>  (0xffffe000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7f7a000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb7f67000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb7f50000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f4c000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0xb7f44000)
        libgssapi.so.2 => /usr/lib/libgssapi.so.2 (0xb7f1c000)
        libheimntlm.so.0 => /usr/lib/libheimntlm.so.0 (0xb7f17000)
        libkrb5.so.24 => /usr/lib/libkrb5.so.24 (0xb7eb8000)
        libhx509.so.3 => /usr/lib/libhx509.so.3 (0xb7e81000)
        libcom_err.so.1 => /usr/lib/libcom_err.so.1 (0xb7e7d000)
        libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7d3e000)
        libasn1.so.8 => /usr/lib/libasn1.so.8 (0xb7ccc000)
        libroken.so.18 => /usr/lib/libroken.so.18 (0xb7cba000)
        libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7c81000)
        liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb7c75000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7c5e000)
        libc.so.6 => /lib/libc.so.6 (0xb7b21000)
        /lib/ld-linux.so.2 (0xb7fae000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7b0a000)
        libssl.so.0 => /usr/lib/libssl.so.0 (0xb7aca000)
ldd `which smbd`
        linux-gate.so.1 =>  (0xffffe000)
        libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7fa4000)
        liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb7f98000)
        libgssapi.so.2 => /usr/lib/libgssapi.so.2 (0xb7f70000)
        libheimntlm.so.0 => /usr/lib/libheimntlm.so.0 (0xb7f6b000)
        libkrb5.so.24 => /usr/lib/libkrb5.so.24 (0xb7f0b000)
        libhx509.so.3 => /usr/lib/libhx509.so.3 (0xb7ed4000)
        libcom_err.so.1 => /usr/lib/libcom_err.so.1 (0xb7ed0000)
        libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7d92000)
        libasn1.so.8 => /usr/lib/libasn1.so.8 (0xb7d20000)
        libroken.so.18 => /usr/lib/libroken.so.18 (0xb7d0e000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7cdf000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7cdb000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb7cc8000)
        libcups.so.2 => /usr/lib/libcups.so.2 (0xb7ca0000)
        libssl.so.0 => /usr/lib/libssl.so.0 (0xb7c60000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7c4c000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7c34000)
        libm.so.6 => /lib/libm.so.6 (0xb7c0e000)
        libattr.so.1 => /lib/libattr.so.1 (0xb7c0a000)
        libacl.so.1 => /lib/libacl.so.1 (0xb7c04000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb7bed000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0xb7be6000)
        libdm.so.0 => /lib/libdm.so.0 (0xb7bdf000)
        libc.so.6 => /lib/libc.so.6 (0xb7aa3000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7a8c000)
        /lib/ld-linux.so.2 (0xb7fe3000)
ldd `which nmbd`
        linux-gate.so.1 =>  (0xffffe000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7f39000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb7f26000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb7f0f000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7f0b000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0xb7f03000)
        libgssapi.so.2 => /usr/lib/libgssapi.so.2 (0xb7edb000)
        libheimntlm.so.0 => /usr/lib/libheimntlm.so.0 (0xb7ed6000)
        libkrb5.so.24 => /usr/lib/libkrb5.so.24 (0xb7e77000)
        libhx509.so.3 => /usr/lib/libhx509.so.3 (0xb7e40000)
        libcom_err.so.1 => /usr/lib/libcom_err.so.1 (0xb7e3c000)
        libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7cfd000)
        libasn1.so.8 => /usr/lib/libasn1.so.8 (0xb7c8b000)
        libroken.so.18 => /usr/lib/libroken.so.18 (0xb7c79000)
        libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7c40000)
        liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb7c34000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7c1d000)
        libc.so.6 => /lib/libc.so.6 (0xb7ae0000)
        /lib/ld-linux.so.2 (0xb7f6d000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7ac9000)
        libssl.so.0 => /usr/lib/libssl.so.0 (0xb7a89000)


smbd и nmbd не линкуются с winbind, они работают с ней через libresolv

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

так ни к чему и не привели поиски. по запросу getent passwd выдает только список $(cat /etc/passwd). Копаем..

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