Это старая версия документа!
Содержание
Устанавливаем SAMBA в роли бэкенда для авторизации в Microsoft Active Directory (для SQUID)
Условия:
- ОС: FreeBSD 9
- Исправно работающие службы Active Directory (на базе Server 2003)
- Исправно работающая служба DNS
Задача
- Установить SAMBA только для целей аутентификации пользователей
В случае внедрения кеширующего прокси-сервера Squid с поддержкой авторизации пользователей Active Directory зачастую используется Samba как промежуточный механизм для выполнения функций авторизации. В сети море информации на эту тему, однако решил еще раз написать больше для себя, чтобы не забыть :).
Какую версию самбы ставить?
Перепробовал много разных версий Самбы, однако остановился на версии 3.6, как наиболее стабильно работающей. Каждый сам решает, исходя из функций, которые нужны от самбы и опыта, какую версию Samba ему использовать. Далее, описание приводится для Самбы версии 3.6.7.
Итак, ставим из портов:
# cd /usr/ports/net/samba36 # make config
Выбираю опции:
[*] ADS [*] CUPS [*] WINBIND [*] SYSLOG [*] POPT
Все остальное нам не нужно. Нам не нужна поддержка ACL, AIO или EXP_MODULES. Все, что нам нужно от Самбы - только демон WINBIND, который и будет выполнять аутентификацию пользователей в базе Active Directory.
Начальные настройки
Настраиваем конфиг. файл Керберос. Нам нужно очень внимательно отнестись к опциям в этом файле. Опции в этом файле:
- YOUR_DOMAIN - имя домена Active Directory. У меня домен состоит из одной метки (т.н. Single labelled domain), т.е. не имеет точек в имени. Соответственно, если у вас домен состоит из точки, к примеру, TEST.RU, то вы так и должны вписывать это имя. Также стоит обратить внимание, что имя домена во всех секциях написано в верхнем регистре.
- 192.168.111.111 и 192.168.111.114 - это IP адреса моих контроллеров домена. У меня их 2, поэтому в конфиге и две записи.
- 192.168.111.111 - имя основного контроллера домена
/etc/krb5.conf
default_realm = YOUR_DOMAIN forwardable = yes ticket_lifetime = 24h
[realms] YOUR_DOMAIN = {
kdc = 192.168.111.111 kdc = 192.168.111.114 admin_server = 192.168.111.111 default_domain = YOUR_DOMAIN }
[domain_realms]
.cord = YOUR_DOMAIN
[appdefaults]
pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false }
[logging]
default=SYSLOG:ERR:AUTH