Автор: Bumper
Если PDC на Win2000:
1. Собираем и настраиваем Samba 3.0.4, думаю и любая ветка 3-ей версии самбы пойдет.
./configure --prefix=/usr/local/samba --with-winbind --with-winbind --enable-auth="ntlm,basic" --enable-external-acl-helpers="wbinfo_group"
Я предпочитаю что бы все собранные пакеты лежали у меня в /usr/local/, поэтому указанное здесь значение ключа --prefix= может не совпадать с вашим.
Далее как обычно: make && make install
Затем: chown -R root:squid /usr/local/samba/var/locks/winbindd_privileged/ иначе NTLM работать не будет. ;)
Пробуем добавить машину в домен:
./net join -w "domain" -u "domainadmin"
Пример моего smb.conf
[global]
nt acl support = yes
nt status support = yes
dos charset = CP866
unix charset = KOI8-R
dns proxy = no
encrypt passwords = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
max log size = 50
hosts allow = 192.168.33.0/24 127.0.
password server = *
allow trusted domains = yes
security = domain
unix password sync = Yes
log level = 4
local master = no
server string = Golem Server
workgroup = domaingroup
log file = /var/log/samba.%m
netbios name = Golem
guest account = nobody
winbind separator = +
winbind use default domain = yes
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template shell = /bin/bash
На этом с samba пока закончили.
2. Настраиваем Squid
На сборке и ключах необходимых для работы Squid я останавливаться не буду, они ничем не отличаются от тех что указаны в документации по Sams.
Идем в каталог с squid.conf и вносим необходимые изменения
auth_param ntlm children 5
auth_param ntlm program /usr/local/samba/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param basic children 5
auth_param basic program /usr/local/samba/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
3. Тестирование связки samba + squid
Запускаем winbindd, и демоны samba.
Пробуем авторизоваться через winbind:
./wbinfo -a user%passwd
Ответ должен быть:
plaintext password authentication succeeded
challenge/response password authentication succeeded
Проверим NTLM авторизацию через сквид: ./ntlm_auth --helper-protocol=squid-2.5-basic
Вводим: domain+user password
Если получаем ответ:
[2004/12/02 14:38:42, 3] utils/ntlm_auth.c:check_plaintext_auth(292)
NT_STATUS_OK: Success (0x0)
OK
Значит все отлично. Если нет, то смотрим логи на предмет ошибок. И незабываем контролировать запущен ли демон winbindd и правильно ли прописаны в /etc/nsswitch.conf параметры:
passwd: files winbind
group: files winbind
4. Самое основное, тестирование работы Интернет через IE.
Ошибки и проблемы с которыми столкнулся я:
Пользователей не пускает в инет, смотрю логи, вижу что там при попытке открыть сайт есть и IP адрес и имя пользователя. Казалось бы, должно все работать на ура !!!
1101982084.521 19 192.168.33.197 TCP_IMS_HIT/304 217 GET http://www.porta.ru/images/service/pic03.gif IGOR NONE/- image/gif
1101982084.567 116 192.168.33.197 TCP_MISS/200 2833 GET http://mirror.holder.ru/wwwporta/mimages/13038.gif IGOR DIRECT/62.118.251.89 image/gif
1101982084.604 205 192.168.33.197 TCP_MISS/200 1342 GET http://mirror.holder.ru/wwwporta/mimages/2009.gif IGOR DIRECT/62.118.251.89 image/gif
1101982084.743 211 192.168.33.197 TCP_MISS/200 1643 GET http://mirror.holder.ru/wwwporta/mimages/11902.gif IGOR DIRECT/62.118.251.89 image/gif
1101982084.749 117 192.168.33.197 TCP_MISS/200 1790 GET http://mirror.holder.ru/wwwporta/mimages/11903.gif IGOR DIRECT/62.118.251.89 image/gif
1101982084.816 124 192.168.33.197 TCP_MISS/200 1331 GET
Проверяю файл default.sams там пользователь IGOR указан как domainname\igor
В настройках sams отметил галочкой только "Имя пользователя выводится
ПРОПИСНЫМИ буквами" остальные галки снал, все сразу заработало. И еще,
ntlm_auth сравнивает то, что ему поступает от sams с именами пользователей в домене
(поле идущее за "User logon name (pre-Windows 2000)"
у нас они заведены были черти как, у кого то с заглавной буквы у кого все малые, у кого то все прописные. Благо их немного,
перештамповали всех к единому знаменателю, теперь у всех имена прописными указаны.
Если PDC на Win2003 Server:
При попытке завести 2.2.7 в домен /usr/local/samba/bin/smbpass -j "domain" -U "domaindmin" получаем "NT_STATUS_ACCESS_DENIED". Поэтому схема добавления в домен меняется, сначала необходимо на PDC в Active directory добавить компьютер, на котором установлена samba, поставив галочку "назначить учетной записи статус пред-Windows 2000 компьютера". После этого уже использовать - /usr/local/samba/bin/smbpass -j ну и т.д.
Что касается samba 3.0, то тут меняется только утилита добавления машины в домен: с smbpasswd на net join.