В первую очередь надо настроить сеть, то есть имя машины DNS, шлюз, сетевые
интерфейсы, машины сети и контроллеры доменов должны нормально
пинговаться по именам, просто один раз, я забыл настроить DNS и два дня
ломал себе голову почему я не могу войти в домен.
Для того, чтобы FreeBSD сделать членом домена, вначале надо настроить
kerberos, вот – пример моего файла:
/etc/krb5.conf
Теперь, надо заставить FreeBSD авторизировать доменных пользователей так
прозрачно, как и локальных, для этого надо отредактировать содержимое
каталога /etc/pam.d/. Я, просто расскоментировал все строчки содержащие
pam_krb5.so.
Опять же, по желанию, можно сделать автосоздание профиля для доменных
пользователей при первом входе в систему, для этого надо установить порт
/usr/ports/security/pam_mkhomedir
и поправить содержимое каталога /etc/pam.d, добавив в начало секций
session следующую строчку:
Процесс установки и настройки samba для включения в домен описывать
не буду т.к. на сайте lissyara.su
его достаточно хорошо описали, приведу только пример своего кофига:
/usr/local/etc/smb.conf
[global]
workgroup = DOMAIN
realm = DOMAIN.LOCAL
server string = Kotlyarov Nikolay HOME PC
security = ADS
hosts allow = 192.168.0. 192.168.1. 10. 127. # load printers = yes # printcap name = /etc/printcap # printcap name = lpstat # printing = cups # guest account = pcguest
log file = /var/log/samba/log.%m
max log size = 500
password server = exchange # passdb backend = tdbsam # include = /usr/local/etc/smb.conf.%m
socket options = TCP_NODELAY SO_RCVBUF=8192SO_SNDBUF=8192 #socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 # interfaces = 192.168.0.44 local master = no
os level = 33 #domain master = yes #preferred master = yes
domain master = no
preferred master = no #domain logons = yes # logon script = %m.bat # logon script = %U.bat # logon path = \\%L\Profiles\%U # wins support = yes # wins server = w.x.y.z # wins proxy = yes
dns proxy = no
dos charset = 866 #unix charset = utf-8
unix charset = koi8-r
display charset = koi8-r
preserve case = Yes
store dos attributes = yes
map hidden = no
map system = no
map archive = no
nt acl support = yes
inherit acls = yes
map acl inherit = yes # add user script = /usr/sbin/useradd %u # add group script = /usr/sbin/groupadd %g # add machine script = #/usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u # delete user script = /usr/sbin/userdel %u # delete user from group script = /usr/sbin/deluser %u %g # delete group script = /usr/sbin/groupdel %g
encrypt passwords = Yes hostname lookups = yes
winbind uid = 10000-50000
winbind gid = 10000-50000
template shell = /usr/local/bin/bash
template homedir = /home/%D/%U
winbind use default domain = yes
winbind enum groups = yes
winbind enum users = yes
winbind offline logon = yes
winbind refresh tickets = yes
allow trusted domains = no
client schannel = No
restrict anonymous = no
ldap ssl = No
map to guest = Bad User
guest ok = yes case sensitive = No
acl compatibility = win2k
[homes]
comment = Home Directories
browseable = no
writable = yes
# [netlogon] # comment = Network Logon Service # path = /usr/local/samba/lib/netlogon # guest ok = yes # writable = no # share modes = no
#[Profiles] # path = /usr/local/samba/profiles # browseable = no # guest ok = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
#[tmp] # comment = Temporary file space # path = /tmp # read only = no # public = yes
#[public] # comment = Public Stuff # path = /home/samba # public = yes # writable = yes # printable = no # write list = @staff
#[fredsprn] # comment = Fred's Printer # valid users = fred # path = /homes/fred # printer = freds_printer # public = no# comment = Fred's Printer # valid users = fred # path = /homes/fred # printer = freds_printer # public = no # writable = no # printable = yes
#[fredsdir] # comment = Fred's Service # path = /usr/somewhere/private # valid users = fred # public = no # writable = yes # printable = no
#[pchome] # comment = PC Directories # path = /usr/pc/%m # public = no # writable = yes
#[public] # path = /usr/somewhere/else/public # public = yes # only guest = yes # writable = yes # printable = no
#[myshare] # comment = Mary's and Fred's stuff # path = /usr/somewhere/shared # valid users = mary fred # public = no # writable = yes # printable = no # create mask = 0765
[Share]
unix charset = koi8-r
valid users = @"%D\Domain Users"@"%D\Domain Admins" read list = @"%D\Domain Users"@"%D\Domain Admins" write list = %D\kotlyarov
admin users = %D\kotlyarov read only = yes
browseable = yes
path = /Share
comment = Моя шара #nt acl support = yes #acl group control = yes #acl check permissions = True #acl map full control = True #map acl inherit = Yes #inherit acls = yes #inherit owner = yes #inherit permissions = yes # writable = no # printable = yes
для автоматически синхронизации времени с доменом добавьте в
после настройки самбы можно включить компьютер в домен:
синхронизируем время с DC
ntpdate server.domain.local
(где server.domain.local – имя вашего DC),
получаем билет kerberos
kinit admin
(где admin это доменная учетка админа),
и собственно заводим машину в домен
net ads join -Uadmin%password
(admin%password – доменная учетная запись с правами администратора и пароль)
Все готово, теперь перезапускам самбу и можно входить в систему под
доменными учетными записями с получением всех доменных прав (авторизация по
kerberos).
2. Доменные шары по-русски, хождение по SMB шарам в konqueror’е
Чтобы не было проблем с русскими именами в названиях папок файлов и
шар, надо поправить следующие значения в файле
/usr/local/etc/smb.conf
Если вы решите перевести FreeBSD на юникод, то вместо koi8-r поставьте utf-8
Очень долго бился с тем что konqueror не хочет нормально отображать
русские имена в smb:// при локальной кодировке koi8-r, решил эту
проблему следующим образом:
после долгого блуждания по исходникам KDE, обнаружил следующие вещи:
1. внутреннее представление данных идет в кодировке utf-8 НЕЗАВИСИМО от
того на какую кодировку локализированна система
2. кодировка smb:// в konkueror таинственным образом зависит от
параметров русификации самбы
3. чтобы смб шары в konkueror отображались по русски (вместо вопросиков
и квадратиков) надо либо настроить систему на utf-8 локаль (не лучший
вариант, т.к. фришная консоль utf не поддерживает), либо давать кедам
данные в кодировке utf-8, то есть поправить русификацию самбы вот так:
и вуаля оно заработало, вот только появилась другая проблема, если на
машине с FreeBSD есть SMB шары то теперь на них слетает кодировка, после
нескольких экспериментов обнаружил, что KDE напрямую читает конфиг самбы,
и придумал следующее:
создаем файл
~/.smb/smb.conf
со следующим содержимым