среда, 26 февраля 2014 г.

Настройка Samba для работы с Active Directory


1. Установка и настройка kerberos
Устанавливаем необходимы пакеты:
fs1-sun->/home/it3# yum install krb5-workstation ntp

Для правильной работы kerberos необходима точная синхронизация времени с контроллером домена. Открываем файл /etc/ntp.conf, комментируем все теги server и добавляем наш контроллер домена:

server dc1.tb22.ru

Добавляем в автозапуск и запускаем сервис ntpd:

fs1-sun->/home/it3# chkconfig ntpd on
fs1-sun->/home/it3# service ntpd start
Starting ntpd:                                             [  OK  ]

Открываем файл /etc/hosts и проверяем соответствие IP-адресов и имен, не правильно заполненный /etc/hosts может стать причиной множества ошибок:
fs1-sun->/home/it3# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.26.53 fs1-sun fs1-sun.tb22.ru
192.168.0.51 dc1 dc1.tb22.ru
192.168.0.52 dc2 dc2.tb22.ru
192.168.21.51 dc3 dc3.tb22.ru

Приводим файл /etc/krb5.conf к следующему виду:
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = TB22.RU
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 TB22.RU = {
    kdc = dc1.tb22.ru
    admin_server = dc1.tb22.ru
    default_domain = tb22.ru
 }

[domain_realm]
 .tb22.ru = TB22.RU
 tb22.ru = TB22.RU

Приводим файл /etc/resolv.conf к следующему виду (в данном случае важно, чтобы в качестве dns-сервер был указан контр):
search tb22.ru
nameserver 192.168.0.51
nameserver 192.168.21.51
nameserver 8.8.8.8

Добавляем правила в iptables
nano /etc/sysconfig/iptables

-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 137 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 138 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 139 -j ACCEPT
-A INPUT -s 192.168.0.0/16 -m state –state NEW -p tcp -–dport 445 -j ACCEPT

Получаем тикет от контроллера домена:

fs1-sun->/home/it3# kinit root
Password for administrator@TB22.RU:

Проверяем полученный тикет:
fs1-sun->/home/it3# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: root@TB22.RU

Valid starting     Expires            Service principal
02/27/14 09:06:27  02/27/14 19:06:26  krbtgt/TB22.RU@TB22.RU
        renew until 03/06/14 09:06:27
02/27/14 09:54:09  02/27/14 19:06:26  ldap/dc3.tb22.ru@TB22.RU
        renew until 03/06/14 09:06:27

2. Установка и настройка samba
Устанавливаем необходимые пакеты:
fs1-sun->/home/it3# yum install samba

Приводим файл /etc/samba/smb.conf к следующему виду:
[global]
dos charset = cp866
unix charset = utf-8
display charset = utf-8
workgroup = TB22
realm = TB22.RU
netbios name = FS1-SUN
server string = File Server
security = ADS
auth methods = winbind
allow trusted domains = No
log file = /var/log/samba/log.%m
max log size = 50
time server = No
domain master = No
dns proxy = Yes
ldap ssl = no
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
case sensitive = No
store dos attributes = yes

[data]
    path = /mnt/data
    valid users = "@TB22.RU\Пользователи домена"
    read list = "@TB22.RU\Пользователи домена"
#    write list = "@TB22.RU\Администраторы домена"
    write list = "@TB22.RU\Пользователи домена"
    read only = No
    create mask = 0644
    guest ok = No

Для проверки правильности конфигурационного файла у самбы есть замечательная утилита testparm:
fs1-sun->/home/it3# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "idmap uid" option is deprecated
WARNING: The "idmap gid" option is deprecated
Processing section "[data]"
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions

Вводим сервер в домен:
fs1-sun->/home/it3# net ads join -U root
Enter root's password:
Using short domain name -- TB22
Joined 'FS1-SUN' to realm 'tb22.ru'

Включаем в автозапуск и запускаем сервисы smb и winbind:
[fs1-sun->/home/it3# chkconfig winbind on
fs1-sun->/home/it3# service winbind start
Starting Winbind services:                                 [  OK  ]
fs1-sun->/home/it3# chkconfig smb on
fs1-sun->/home/it3# service smb start
Starting SMB services:                                     [  OK  ]

Редактируем файлик /etc/nsswitch.conf и добавляем после следующих строчек слово winbind. Этим действием мы указываем в каком порядке и где системе искать имена-пароли пользователей и групп.
passwd:     files winbind
shadow:     files winbind
group:      files winbind


Оригинал

Комментариев нет:

Отправить комментарий