Установка Samba4 в качестве контроллера домена на Ubuntu Server 14.04

Опубликовано:

Данное руководство является скорее вольным переводом оригинальной статьи Samba_AD_DC_HOWTO с правками для Ubuntu 14.04 .

 

Установка всех пакетов будет проводиться из родных репозиториев ubuntu trusty. В качестве днс-сервера будет выступать bind9.

 

 

В качестве типовой конфигурации будем применять:

  • Название домена (realm) ADSAMBA.LOC
  • Короткое имя (domain) ADSAMBA
  • ip-адрес контроллера домена 192.168.1.1
  • имя сервера в домене ad

 

Установку будем проводить на системе с последними обновлениями. Хочу заметить что следует четко придерживаться последовательности вводимых команд для обеспечения успешной установки и конфигурирования. Кроме того очень рекомендуется перед установкой провести обновление системы:

sudo apt-get update && sudo apt-get upgrade

Далее, начнем установку необходимых пакетов:

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

Конфигурирование samba4

В состав samba4 входит утилита samba-tool для администрирования домена. Более подробно о возможностях этой утилиты вы можете почитать на странице http://www.samba.org/samba/docs/man/manpages/samba-tool.8.html , мы же используем ее для поднятия домена.

 

Внимание, в процессе надо будет ввести желаемый пароль администратора. Пароль должен быть сложным, иметь цифры и заглавные буквы!

 

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

Отвечаем на вопросы, подставляя свое название домена:

  • Realm [ADSAMBA.LOC]: ADSAMBA.LOC ←- название домена
  • Domain [ADSAMBA]: ADSAMBA ←- короткое имя домена
  • Server Role (dc, member, standalone) [dc]: dc ←- роль сервера(в данном случаем dc — контроллер домена)
  • DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ ←- используемый днс-сервер
  • Administrator password:
  • Retype password:

 

Если в процессе конфигурирования возникли ошибки связанные с названием домена или паролем администратора, для того что заново запустить конфигурирование, проделайте следующее:

sudo apt-get purge samba
sudo apt-get install samba
sudo rm /etc/samba/smb.conf

 

Настройка BIND9

Настраиваем bind9:

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

и приводим файл к следующему виду(заменяя ip-адреса на свои):

options {
        directory "/var/cache/bind";
        auth-nxdomain yes;
        forwarders { 192.168.1.2; };
        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;
        };
};

Включаем в конфиг bind9 конфиг samba4

sudo nano /etc/bind/named.conf

и дописываем в конец файла:

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

Меняем конфиг для использования bind 9.9

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

приводим к виду:

dlz "AD DNS Zone" {
    # For BIND 9.8.0
    # database "dlopen /usr/lib/i386-linux-gnu/samba/bind9/dlz_bind9.so";
 
    # For BIND 9.9.0
    database "dlopen /usr/lib/i386-linux-gnu/samba/bind9/dlz_bind9_9.so";
};

Далее, подправим конфиг apparmor разрешая bind9 использовать необходимые файлы:

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

в конец файла, до »}» вставляем:

для 32-х битной системы:

  # for samba4
  #/var/lib/samba/private/** r,
  /usr/lib/i386-linux-gnu/samba/bind9/** m,
  /usr/lib/i386-linux-gnu/samba/ldb/** m,
  /usr/lib/i386-linux-gnu/ldb/modules/ldb/** m,
  /usr/lib/i386-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,

для 64-х битной системы

  # for samba4
  #/var/lib/samba/private/** r,
  /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,

Перезапускаем службы:

sudo service apparmor restart
sudo service bind9 restart

Запускаем samba4:

sudo service samba-ad-dc start

Настало время тестов:

Меняем nameserver в resolv.conf чтоб все обращения проходили через наш настроенный bind9

sudo nano /etc/resolv.conf
 
nameserver 192.168.1.1

Проверяем

smbclient -L localhost -U%
 
Domain=[ADSAMBA] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
 
        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.1.6-Ubuntu)
Domain=[ADSAMBA] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
 
        Server               Comment
        ---------            -------
 
        Workgroup            Master
        ---------            -------
smbclient //localhost/netlogon -UAdministrator -c 'ls'
 
Enter Administrator's password:
Domain=[ADSAMBA] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
  .                                   D        0  Tue Apr  8 11:21:49 2014
  ..                                  D        0  Tue Apr  8 11:22:03 2014
 
                46445 blocks of size 4194304. 45581 blocks available
host -t SRV _ldap._tcp.adsamba.loc.
 
_ldap._tcp.adsamba.loc has SRV record 0 100 389 ad.adsamba.loc.
host -t SRV _kerberos._udp.adsamba.loc.
 
_kerberos._udp.adsamba.loc has SRV record 0 100 88 ad.adsamba.loc.
host -t A ad.adsamba.loc.
 
ad.adsamba.loc has address 192.168.1.1

Настройка KERBEROS

Делаем симлинк конфига kerberos от samba4:

sudo ln -s /var/lib/samba/private/krb5.conf /etc/

Получаем билет:

kinit administrator@ADSAMBA.LOC

 

При получении билета видим сообщение в котором сказано что аккаунт администратора действителен в течении 41 дня.

Warning: Your password will expire in 41 days ...

Сразу изменим длительность аккаунта:

sudo samba-tool domain passwordsettings set --max-pwd-age=999

и проверяем что аккаунт будет работать еще 999 дней

sudo samba-tool domain passwordsettings show
 
...
Maximum password age (days): 999

 

Полученный билет можем посмотреть по команде:

klist

Настройка NTP

Редактируем конфиг ntp:

sudo nano /etc/ntp.conf

и в конец файла добавляем

ntpsigndsocket /var/lib/samba/ntp_signd/
restrict default mssntp

Перезапускаем сервис:

sudo service ntp restart

На этом базовая настройка samba4 в качестве контроллера домена завершена. На виндовом клиенте прописываем адрес нашего контроллера в качестве первичного DNS-сервера, пингуем PDC по имени и вводим в домен(администратор домена — administrator)

Для управления доменом воспользуемся пакетом Adminpak.msi: для Windows7, для Vista + RSAT, для Windows XP Pro + вторая часть.

Устанавливаем, в Меню выбираем пункт Выполнить, вбиваем dsa.msc, наслаждаемся 🙂

Понравилась статья, расскажи о ней друзьям, нажми кнопку!