Эта документация основана на статье Д.Новикова "Авторизация Windows- пользователей в SQUID на основе их доменных аккаунтов"
Оригинал: http://www.artmagic.ru/labs/sqlandwin.shtml

Инсталляция и настройка программного обеспечения

1.Установка и конфигурация SAMBA

Для того, чтобы система могла авторизоваться в Windows домене необходимо инсталлировать сервер SMB протокола для *NIX систем SAMBA. Причем, важно скомпилировать SAMBA с поддержкой winbind, т.е.

configure --with-winbind --with-winbind-auth-challenge

далее компилируем и инсталлируем:

make
make install

После установки, SAMBA нужно настроить на домен Windows сети и на использование winbind.

Файл smb.conf должен содержать следующие строки:

[global]
workgroup = WORK - Имя нашего Windows-домена
netbios name = PDC - Имя сервера (необязательно)
server string = DomainController
hosts allow = 10.128. 127. - Для безопасности.
winbind separator = +
winbind use default domain = no
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/winnt/%D/%U
template shell = /bin/bash
max log size = 50
security = domain
password server = Primary Exch - серверы паролей (PDC, BDC)
encrypt passwords = yes

Создайте каталог /etc/samsba/private.

После изменения smb.conf можно попробовать зарегестрироваться в домене Windows.

smbpasswd -j WORK (наш домен) -r Primary(наш PDC) -U Administrator

Если регистрация в домене прошла успешно, будет выдано сообщение:

Joined domain YourDomain.

Далее запускаем демона WINBINDD:

winbindd -d9

и контролируем его работу:

команда wbinfo -p должна вернуть:

'ping' to winbindd succeeded

команда wbinfo -t должна вернуть:

"Secret is good".

Если это не так, заглядываем в логи winbind и разбираемся в чем дело.

Копируем библиотеку libnss_winbind.so в каталог /lib:

cp nsswitch/libnss_winbind.so /lib

создаем символические ссылки на нее:

ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.1
ln -s /lib/libnss_winbind.so /lib/libnss_winbind.so.2

Изменяем файл /etc/nsswitch.conf. Он должен содержать строки вида

passwd: files winbind
group: files winbind

Перезапустите winbindd

Пробуем авторизовать пользователя в Windows домене:

wbinfo -a домен+пользователеь_домена%пароль

если авторизация прошла успешно, будет выдано сообщение:

plaintext password authentication succeeded
error code was NT_STATUS_OK (0x0)
challenge/response password authentication succeeded
error code was NT_STATUS_OK (0x0)

2.Установка и конфигурация SQUID.

Авторизацию в домене Windows (NTLM авторизацию) поддерживает SQUID, начиная с версии 2.5

Скачайте и разархивируйте исходные коды SQUID:

tar xvfz squid-2.x.tar.gz

Серевер SQUID нужно скомпилировать с поддержкой схем авторизации и модулем winbind, для этого запустите файл конфигурации с параметрами:

-enable-auth="ntlm,basic"
-enable-basic-auth-helpers="winbind"
--enable-ntlm-auth-helpers="winbind"

Кроме того, SQUID поставляется с файлами заголовков определенной версии SAMBA.
Если у ваша версия SAMBA не совпадает, необходимо при конфигурировании добавить следующую строку:

--with-samba-sources=путь,

где путь - путь к заголовкам вашей версии SAMBA.

Возможно, наиболее правильным решением является в любом случае собирать SQUID с файлами заголовков той версии SAMBA, что установлена в вашей системе.

далее компилируем и инсталлируем SQUID:

make
make install

Проверяем авторизатор SQUIDа на работу с winbind. Для этого нужно запустить:

/usr/local/squid/libexec/wb_auth -d

И ввести вручную домен+имя пароль (через пробел).

Если все работает корректно, то буден выдан ответ:

/wb_auth[91945](wb_basic_auth.c:129): Got 'dmn XXXXX' from squid (length: 10)
/wb_auth[91945](wb_basic_auth.c:55): winbindd result: 1
/wb_auth[91945](wb_basic_auth.c:58): sending 'OK' to squid

Конфигурируем SQUID на работу с winbind авторизацией.

в файл /etc/squid/squid.conf добавляем строки:
auth_param ntlm program /usr/local/squid/libexec/wb_ntlmauth
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic program /usr/local/squid/libexec/wb_auth
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

Причем важно чтобы NTLM авторизация шла первой, иначе будет применяться авторизация basic, и IE будет спрашивать пароль.

3.Установка и конфигурация базы данных MySQL.

Скачайте и разархивируйте исходные коды MySQL:

tar xvfz mysql-x.x.tar.gz

далее компилируем и инсталлируем MySQL:

make
make install

создайте пользователя, от имени которого будет работать SAMS.

4 Настройка WEB-сервера APACHE

Создайте символическую ссылку из корневой директории сервера APACHE на директорию, в которой находятся файлы управляющей программы SAMS:

ln -s /usr/local/sams/php /var/www/htdocs/sams Настройте ваш WEB-сервер на работу с php скриптами.
Раскомментируйте или добавьте следующие строки:

LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php .phtml

Разрешите в /etc/apache/httpd.conf загрузку файлов на сервер через web интерфейс:


?
Options ? ExecCGI
?