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

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

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

sudo apt-get install samba4 samba4-common-bin
В процессе установки, возможно, вылезет ошибка установки. Это вызвано ошибкой в пакете. Для ее устранения надо выполнить:
sudo chmod +x /usr/share/samba/setoption.pl
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig

Создадим конфиг для устранения ошибки (свой, правильный, конфиг создадим позже)

sudo nano /etc/samba/smb.conf
# Global parameters
 [global]
  server role = domain controller
  workgroup = WORKGROUP
  realm = example.com
  netbios name = SERVER
 
[netlogon]
  path = /var/lib/samba/sysvol/example.com/scripts
  read only = No
 
[sysvol]
  path = /var/lib/samba/sysvol
  read only = No

и завершим установку:

sudo apt-get -f install

Сохраним предыдуший smb.conf:

sudo mv /etc/samba/smb.conf{,.old}
Замените значение realm на DNS-имя вашего сервера, domain на название домена(WINS), adminpass на желаемый пароль администратора PDC!
sudo /usr/share/samba/setup/provision --realm=samdom.example.com \
  --domain=SAMDOM --adminpass=SOMEPASSWORD --server-role='domain controller'
На данном этапе возможны сообщения типа «ERROR» и «… not found» , это нормально, кроме сообщения:
_ldb.LdbError: (19, '0000052D: Constraint violation - check_password_restrictions: the password does not meet the complexity criterias!')

Оно говорит о созданном пароле, не отвечающим критериям. В этом случае надо удалить smb.conf:

sudo rm /etc/samba/smb.conf

и переконфигурировать предыдущей командой.

Поправим конфигурацию Bind9. Дописываем в конец файла /etc/bind/named.conf.local строчку

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

Разрешим AppArmor'ом читать Bind9'у читать конфиги Samba4. Для этого в конец файла /etc/apparmor.d/usr.sbin.named, до знака } вписываем

Для архитектуры x86_64

  /var/lib/samba/private/* rw,
  /var/lib/samba/private/dns/** rwlmk,
  /usr/lib/x86_64-linux-gnu/samba/bind9/** rwlm,
  /usr/lib/x86_64-linux-gnu/samba/** rwlm,
  /usr/lib/x86_64-linux-gnu/ldb/** rwlm,

Для архитектуры i386

  /var/lib/samba/private/* rw,
  /var/lib/samba/private/dns/** rwlmk,
  /usr/lib/i386-linux-gnu/samba/bind9/** rwlm,
  /usr/lib/i386-linux-gnu/samba/** rwlm,
  /usr/lib/i386-linux-gnu/ldb/** rwlm,

Это должно выглядеть примерно так:

...
  /var/lib/samba/private/* rw,
  /var/lib/samba/private/dns/** rwlmk,
  /usr/lib/x86_64-linux-gnu/samba/bind9/** rwlm,
  /usr/lib/x86_64-linux-gnu/samba/** rwlm,
  /usr/lib/x86_64-linux-gnu/ldb/** rwlm,
}

Перегрузим AppArmor и Bind9:

sudo /etc/init.d/apparmor reload
sudo /etc/init.d/bind9 restart

Добавляем в /etc/resolvconf/resolv.conf.d/head:

nameserver 127.0.0.1

Перегружаем resolvconf для принятия изменений:

sudo service resolvconf restart

Установим поддержку Kerberos

sudo apt-get install krb5-user

Копируем конфиг Kerberos

sudo cp /var/lib/samba/private/krb5.conf /etc/

Установим samba4-clients

sudo apt-get install samba4-clients

и проверяем работоспособность

smbclient -UAdministrator -Llocalhost

Ответом должно быть вроде этого

Sharename       Type       Comment
 ---------       ----       -------
 netlogon        Disk       
 sysvol          Disk       
 IPC$            IPC        IPC Service 
REWRITE: list servers not implemented

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

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

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

Ссылки