Присоеденяем к домену.
Сетка у нас пусть 192.168. /255.255.0.0
Для аутентификации в AD используется протокол KERBEROS
sh# ee /etc/krb5.conf
##################################
[appdefaults]
[libdefaults]
default_realm = FD.RU
clockskew = 3600
kdc_timeout = 30
dns_lookup_kdc = yes
dns_lookup_realm = yes
forwardable = yes
proxiable = yes
scan_interfaces = yes
[domain_realm]
[realms]
FD.RU = {
kdc = dc.fd.ru
}
[capaths]
[logging]
kdc = FILE:/var/log/kdc.log
kdc = SYSLOG:INFO
default = SYSLOG:INFO:USER
[kdc]
enable-kerberos4 = no
allow-anonymous = no
[kadmin]
##################################
sh# kinit f2@FD.RU
------------------------------------------------------------------
f2@FD.RU's Password:
kinit: krb5_get_init_creds: unable to reach any KDC in realm FD.RU
------------------------------------------------------------------
Не может найти KDC. Выхода два либо занести в hosts соответствие
либо прописать вместо имени ip-адресс KDC в krb5.conf
sh# echo '192.168.2.1 dc.fd.ru' >> /etc/hosts
после ip-адресса я выставил пробелы дабы не нарушать структуру файла.
sh# kinit f2@FD.RU
-----------------------------------------
krb5_get_init_creds: Clock skew too great
-----------------------------------------
Теперь видим рассхождение во времени. А должно быть не более 5 минут.
Синхронизируем время с с нашим KDC
sh# ntpdate 192.168.2.1
---------------------------------------------------------------------
ntpdate[25885]: step time server 192.168.2.1 offset -14397.077902 sec
---------------------------------------------------------------------
sh# kinit f2@FD.RU
--------------------------------------------------
f2@FD.RU's Password:
kinit: NOTICE: ticket renewable lifetime is 1 week
--------------------------------------------------
Нам выдали билетик сроком на неделю.
Проверка на валидность.
sh# kinit -v
------------------------------------------------------------
kinit: krb5_get_kdc_cred: KDC can't fulfill requested option
------------------------------------------------------------
KDC может обрабатывать наши запросы.
sh# klist
--------------------------------------------------------------
Credentials cache: FILE:/tmp/krb5cc_0
Principal: f2@FD.RU
Issued Expires Principal
Mar 31 13:58:08 Mar 31 23:58:08 krbtgt/FD.RU@FD.RU
--------------------------------------------------------------
# klist -v
---------------------------------------------------------------------------------------
Credentials cache: FILE:/tmp/krb5cc_0
Principal: f2@FD.RU
Cache version: 4
Server: krbtgt/FD.RU@FD.RU
Ticket etype: arcfour-hmac-md5, kvno 2
Auth time: Mar 31 13:58:08 2008
End time: Mar 31 23:58:08 2008
Renew till: Apr 7 13:58:08 2008
Ticket flags: forwardable, proxiable, renewable, initial, pre-authenticated
Addresses: IPv4: 192.168.2.12
---------------------------------------------------------------------------------------
Устанавливаем самбу с поддержкой WINBIND
для авторизации в Winows 2k3 server
sh# cd /usr/ports/net/samba3
sh# make install clean
sh# cd /usr/local/etc/
sh# cp smb.conf.sample smb.conf
sh# ee smb.conf
#####################################
[global]
workgroup = FD
server string = Unix_v6.3_Samba
security = domain
interfaces = rl0
password server = dc.fd.ru
wins server = dc.fd.ru
encrypt passwords = yes
dos charset = cp866
unix charset = koi8-r
display charset = koi8-r
winbind separator = +
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind refresh tickets = Yes
load printers = no
log file = /var/log/samba/%m.log
max log size = 50
#####################################
sh# ee /etc/rc.conf
#####################
nmbd_enable="YES"
smbd_enable="YES"
winbindd_enable="YES"
#####################
sh# /usr/local/etc/rc.d/samba.sh start
Для отладки можно запускать с параметром -d[0-10]
sh# net join -U f2%moy_pass
Joined domain FD.
sh# wbinfo -p
Ping to winbindd succeeded on fd 4
sh# wbinfo -t
checking the trust secret via RPC calls succeeded
wbinfo -a f2%moy_pass
plaintext password authentication succeeded
challenge/response password authentication succeeded
Пользователей и группы можно увидеть через:
sh# wbinfo -u
sh# wbinfo -g
И теперь доступ на шары можно раздавать доменным пользователям.
Например через Midnight Commander.