Содержание
Данное руководство является скорее вольным переводом оригинальной статьи Samba_AD_DC_HOWTO с правками для Ubuntu 14.04 .
- Название домена (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
приводим к виду:
для 32-х битной системы
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"; };
для 64-х битной системы
dlz "AD DNS Zone" { # For BIND 9.8.0 # database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so"; # For BIND 9.9.0 database "dlopen /usr/lib/x86_64-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
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, наслаждаемся :)
При копировании, ссылка на эту статью обязательна!!!