Установку будем проводить на системе с последними обновлениями. Хочу заметить что следует четко придерживаться последовательности вводимых команд для обеспечения успешной установки и конфигурирования. Кроме того очень рекомендуется перед установкой провести обновление системы:
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
sudo apt-get install samba4 samba4-clients bind9 -y
Сохраним оригинальный smb.conf
:
sudo mv /etc/samba/smb.conf{,.old}
Создадим конфиг и базу данных.
ps -e | grep samba
и, если увидите что samba запущена, ОБЯЗАТЕЛЬНО остановите ее
sudo service samba4 stop
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'
_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 и работоспособность скрипта.
Поправим конфигурацию 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
Копируем конфиг Kerberos
sudo cp /var/lib/samba/private/krb5.conf /etc/
Проверяем работоспособность
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
На этом начальная установка и настройка PDC завершена. На виндовом клиенте прописываем адрес нашего PDC в качестве первичного DNS-сервера, пингуем PDC по имени и вводим в домен(администратор домена - administrator)
Для управления доменом воспользуемся пакетом Adminpak.msi: для Windows7, для Vista + RSAT, для Windows XP Pro + вторая часть.
Устанавливаем, в Меню выбираем пункт Выполнить, вбиваем dsa.msc, наслаждаемся :)