Настройка "прозрачной идентификации" в Samba +Winbind

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Настройка "прозрачной идентификации" в Samba +Winbind

Непрочитанное сообщение Dmitriy_K » 2010-11-24 20:59:25

Возникла задача создать систему "прозрачной идентификации" пользователей (только наличие в AD соответствующего логина) при заходе через IE на страницу сайта в локальной сети.
Была создана система на сервере FreeBSD v8 на основе Samba34 и модуля apache mod_auth_ntlm_winbind, который получает информацию о наличии логина (пароль не проверяется) от самбы. Логин пользователя автоматически передаётся через браузер IE. Всё уже работает в пределах одной AD (дефолтной в конфиге), но на других многочисленных региональных AD проверка наличия логина не проходит, хотя самба получает информацию о пользователях всех AD (можно построить их список).
Конфиг Samba такой:

Код: Выделить всё

;admin users = administrator
;allow trusted domains = no
auth methods = winbind
case sensitive = no

;winbind separator = +
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind refresh tickets = yes
winbind cache time = 60
;restrict anonymous = 2

    workgroup = NET.RU
    realm = NET.RU
    security = ads
    netbios name = intranet
    server string = Samba Server

;   password server = *
    password server = dc01.net.ru
    encrypt passwords = yes
    dns proxy = yes

    socket options = SO_RCVBUF=8192 SO_SNDBUF=8192
;   hosts allow = 192.168.1. 192.168.2. 127.
;   interfaces = 192.168.12.2/24 192.168.13.2/24
;   name resolve order = hosts bcast lmhosts
;   passdb backend = tdbsam
;   include = /usr/local/etc/smb.conf.%m

    load printers = no
    disable spoolss = yes
    show add printer wizard = no
;   printcap name = /etc/printcap
;   printcap name = lpstat
;   printing = cups

    log file = /var/log/samba34/log.%m
    max log size = 50
    log level = 3

   local master = no
;   os level = 33
   domain master = no
   preferred master = no

# Enable this if you want Samba to be a domain logon server for 
# Windows95 workstations. 
;   domain logons = yes

;    ldap ssl = off
    nt acl support = yes
    client use spnego = no
;    client signing = yes
    invalid users = root
;   guest account = pcguest
Большая просьба подсказать что нужно подправить. Метод тыка пока ничего не даёт.
Есть ещё пара второстепенных вопросов:
1) Я правильно понимаю, что модуль winbind_krb5_locator.so собирается в случае уже установленного Кербероса и его надо потом копировать из директории сборки Самбы? У меня он почему-то не собрался (забыл в каком порядке ставил).
2) Достаточно ли для его сборки и полноценной работы Winbind установки пакета клиента krb5-appl-1.0 или требуется полная версия (krb5-1.8.3_1)? У меня установлена полная версия Kerberos. Конфиг krb5.conf помещён в /usr/local/etc.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Dmitriy_K
сержант
Сообщения: 200
Зарегистрирован: 2009-04-07 6:22:33
Откуда: г.Королёв

Re: Настройка "прозрачной идентификации" в Samba +Winbind

Непрочитанное сообщение Dmitriy_K » 2010-11-25 13:56:43

Проблема решена. Она оказалась в неправильной обработке данных логинов в PHP скрипте заглавной страницы сайта. Я обнаружил это когда параллельно тестил с самым простым скриптом NTML-логина:

Код: Выделить всё

<?php
echo "You have logged in as <b>" . $_SERVER['REMOTE_USER'] . "</b>";
?>
В результате ошибки, когда я выставлял "winbind use default domain = no"
главная страница не открывалась и я не мог понять в чём дело. :(