Это старая версия документа.


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

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

Если у вас Ubuntu 10.04 LTS, то нужно установить необходимые пакеты samba4 из репозитория maverick, т.к. пакеты, находящиеся в репозитории lucid, очень устаревшие и имеют некоторые проблемы:

sudo sed -i 's/lucid/maverick/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install samba4 samba4-clients bind9 -y
sudo sed -i 's/maverick/lucid/g' /etc/apt/sources.list 
sudo apt-get update
Если у вас Ubuntu Maverick и старше, то вместо всех предыдущих команд достаточно выполнить:
sudo apt-get install samba4 samba4-clients bind9 -y

Сохраним оригинальный smb.conf:

sudo mv /etc/samba/smb.conf{,.old}

Создадим конфиг и базу данных.

Замените значение realm на DNS имя вашего сервера, domain на название домена, adminpass на желаемый пароль администратора PDC!
sudo LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /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

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

Подправим скрипт запуска samba4 /etc/init.d/samba4. Ищем строки начинающиеся на

log_daemon_msg "Starting Samba 4 daemon" "samba"

и вписываем ниже

if [ ! -d $(dirname $SAMBAPID) ]; then
   mkdir -p $(dirname $SAMBAPID)
fi

Создадим скрипт запуска необходимых библиотек /usr/local/sbin/samba с таким содержанием:

#!/bin/sh
LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/sbin/$(basename $0)

Сделаем его исполняемым

sudo chmod +x /usr/local/sbin/samba

Создадим симлинки samba_dnsupdate и samba_spnupdate к этому скрипту

sudo ln -s /usr/local/sbin/samba{,_dnsupdate}
sudo ln -s /usr/local/sbin/samba{,_spnupdate}

Загрузим samba4

sudo /etc/init.d/samba4 start

На этом этапе не должно быть ошибок. Если же они появились, проверяем правильность правки /etc/init.d/samba4 и работоспособность скрипта.

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

smbclient -UAdministrator -Llocalhost

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

Sharename       Type       Comment
 ---------       ----       -------
 netlogon        Disk       
 sysvol          Disk       
 IPC$            IPC        IPC Service (Samba 4.0.0alpha12-GIT-UNKNOWN)
 ADMIN$          Disk       DISK Service (Samba 4.0.0alpha12-GIT-UNKNOWN)
REWRITE: list servers not implemented

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

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

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

/var/lib/samba/private/* rw,
/var/lib/samba/private/dns/* rw,

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

...
  /var/lib/samba/private/* rw,
  /var/lib/samba/private/dns/* rw,
}

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

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

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

nameserver 127.0.0.1

Проверяем

host -t SRV _kerberos._udp.samdom.example.com

Ответом должна быть SRV запись. Копируем конфиг Kerberos

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

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

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

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

Ссылки