База знаний по Open Source
Авторизация
Поиск по базе знаний

Эта статья основана на wiki по Samba и является достаточно вольным ее переводом, с уточнениями и дополнениями с учетом опыта произведенных установок. Подразумевается, что samba ставится на Ubuntu 14.04LTS и в качестве DNS сервера используется проверенный и надежный Bind9.

Исходные данные для установки:

AD DC Hostname:                    DC1
AD DNS Domain Name:                samdom.example.com
Kerberos Realm:                    samdom.example.com
NT4 Domain Name/NetBIOS Name:      samdom
IP Address:                        192.168.1.1
Server Role:                       Domain Controller (DC)
Domain Admin Password:             pa$$w0rd
Forwarder DNS Server:              192.168.1.254

Первоначальная установка и настройка SAMBA

В Ubuntu 14.04LTS в стандартном репозитерии уже есть все, для того чтобы установить Samba в качестве контроллера домена Active Directory (AD DC), устанавливаем одной командой:

sudo apt-get install samba acl krb5-user ntp cups bind9 smbclient

Далее можно приступать к настройке. Первоначальная настройка осуществляется утилитой samba-tool и заключается в создании базы данных Active Directory при установке первого Samba котролера домена в домене.

# sudo samba-tool domain provision --use-rfc2307 --interactive

Realm [SAMDOM.EXAMPLE.COM]: SAMDOM.EXAMPLE.COM
 Domain [SAMDOM]: SAMDOM
 Server Role (dc, member, standalone) [dc]: dc
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:BIND9_DLZ
Administrator password: pa$$w0rd 
Retype password: pa$$w0rd

Минимальная длина пароля – 7 символов! Иначе выдаст ошибку!!! Запуск samba-tool должен осуществляться с правами root, для возможности записи в директорию установки и установки корректных прав на создаваемые файлы и директории.

–use-rfc2307: включает расширения NIS, которые позволяют легко управлять пользователями/группами с помощью  Windows tool Active Directory Users and Computers (ADUC) без ручного манипулирования UID/GID.

Проверка первоначальной установки SAMBA

$ smbclient -L localhost -U%
Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.x.y]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk      
        sysvol          Disk      
        IPC$            IPC       IPC Service (Samba 4.x.y)
Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.x.y]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------

Для проверки корректной работы аутентификации попробуем приконнектиться к “netlogon” используя аккаунт администратора, созданный во время настройки:

$ smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password: pa$$w0rd
Domain=[SAMDOM] OS=[Unix] Server=[Samba 4.x.y]
 .                                   D        0  Sat Jul  5 08:40:00 2014
 ..                                  D        0  Sat Jul  5 08:40:00 2014

               49386 blocks of size 524288. 42093 blocks available

Настройка DNS сервера bind9

Используя любимый редактор (в данном случае – nano) правим файл настройки bind9 – named.conf.options:

$ sudo nano /etc/bind/named.conf.options

и приводим его к следующему виду:

options {
        directory "/var/cache/bind";
        auth-nxdomain yes;
        forwarders { 192.168.1.254; };
        allow-transfer { none; };
        notify no;
        empty-zones-enable no;
 
        allow-query {
                192.168.1.0/24;
                127.0.0.0/8;
        };
 
        allow-recursion {
                192.168.1.0/24;
                127.0.0.0/8;
        };
 
        allow-update {
                192.168.1.0/24;
                127.0.0.0/8;
        };
};

При первоначальной установке Samba в директории /var/lib/samba/private/ был сформирован свой файл named.conf. Его необходимо подправить и привести к виду:

$ sudo nano /var/lib/samba/private/named.conf

dlz "AD DNS Zone" {

    database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";
};

Для 32-х разрядных систем строчку database заменяем на:

database "dlopen /usr/lib/i386-linux-gnu/samba/bind9/dlz_bind9_9.so";

Теперь name.conf от Samba подкльчаем к основному, bind-овскому name.conf:

$ sudo nano /etc/bind9/named.conf

и в конце вставляем строчку:

include "/var/lib/samba/private/named.conf";

Если в системе apparmor еще не заглушен, то нужно в его конфиги прописать разрешения использовать файла samba:

sudo nano /etc/apparmor.d/usr.sbin.named

и в самый конец, до фигурной скобки вставляем:

 # samba4 begin
 /usr/lib/x86_64-linux-gnu/samba/bind9/** m,
 /usr/lib/x86_64-linux-gnu/samba/ldb/** m,
 /usr/lib/x86_64-linux-gnu/ldb/modules/ldb/** m,
 /usr/lib/x86_64-linux-gnu/samba/gensec/krb5.so m,
 /var/lib/samba/private/dns.keytab rwk,
 /var/lib/samba/private/named.conf r,
 /var/lib/samba/private/dns/** rwk,
 /var/lib/samba/private/krb5.conf r,
 /var/tmp/** rwk,
 /dev/urandom rwk,
 # samba4 end

Для 32-х разрядных весий x86_64-linux-gnu заменяем на i86-linux-gnu.

В файле /etc/network/interfaces необходимо поменять адрес dns сервера на новый:

dns-nameservers 192.168.1.1

и перегрузить все сервисы:

 $ sudo service apparmor restart
service bind9 restart
service samba-ad-dc start
sudo service networking restart

А лучше перегрузить систему.

Теперь проверяем DNS:

$ host -t SRV _ldap._tcp.samdom.example.com.
_ldap._tcp.samdom.example.com has SRV record 0 100 389 dc1.samdom.example.com.
$ host -t SRV _kerberos._udp.samdom.example.com.
_kerberos._udp.samdom.example.com has SRV record 0 100 88 dc1.samdom.example.com.
$ host -t A dc1.samdom.example.com.
dc1.samdom.example.com has address 192.168.1.1

Проверяем Kerberos:

$ # kinit administrator@SAMDOM.EXAMPLE.COM
Password for administrator@SAMDOM.EXAMPLE.COM: 
Warning: Your password will expire in 41 days on Sat Aug 16 21:41:28 2014

Далее входим во всеми любимый Windows(xp,7,8,8+), вводим в домен, скачиваем стандартный Remote Server Administration Tools и используем для дальнейшей работы с контроллером домена стандартную оснастку по управлению пользователями в AD.

Добавить комментарий

Еще по теме SAMBA - сервер