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

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

### ВНИМАНИЕ!!! Этот пункт необходим только если вы планируете работать с аутентификацией пользователей в домене Windows NT 4.0 по протоколу NTLM

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

Для того, чтобы система могла авторизоваться в Windows домене необходимо инсталлировать сервер SMB протокола для *NIX систем SAMBA. Работу с Active Directory поддерживает samba версии 2.х.

Необходимо чтобы SAMBA была собрана с поддержкой winbind, т.е.

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

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

make
make install

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

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

[global]
workgroup = WORK - Имя нашего Windows-домена
netbios name = PDC - Имя сервера (необязательно)
server string = ProxyServer
hosts allow = 10.128. 127. - Диапазоны IP адресов, с которых могут обращаться к samba. Для безопасности.
winbind separator = +

Если у вас в сети только один домен и вы хотите при авторизации пользователя на PDC использовать только имя пользователя без имени домена, можно прописать
winbind use default domain = yes
Иначе, если вы хотите использовать при авторизации конструкцию domain+user (у вас в сети несколько доменов), пропишите
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
Необходимо чтобы первый вход с компьютера с samba был осуществлен из-под пользователя домена windows, имеющего права администратора домена. В этот момент происходит обмен секретами между samba и контроллером домена.

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

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. Настройка NTLM авторизации в SAMS

Для настройки NTLM авторизации пользователей в Windows домене необходимо в дереве настроек WEB интерфейса SAMS выбрать пункт "Администрирование SAMS", далее в нижнем фрейме нажать кнопку
В открывшемся диалоге выьираем способ авторизации пользователей "NTLM". Далее нажимаем кнопку "Тестировать ответ PDC". В открывшемся окне будет выведен список пользовтаелей, зарегистрированных домене.

### Конфигурируем SQUID на работу с winbind (ntlm,basic) авторизацией

в файл /etc/squid/squid.conf добавляем строки:
auth_param ntlm program /usr/lib/squid/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 будет спрашивать пароль.