|
|
|||||||||||||||||||||||||||||
|
Поднимаем контроллер домена на Ubuntu ServerИсточник: habrahabr Chronas
Этот вариант может быть полезен для небольших организаций с компьютерами под управлением Windows. Рассмотрим настройку контроллера домена на примере Ubuntu Server 12.04.4 LTS или Ubuntu Server 13.10, инструкция подходит для обоих вариантов без дополнительных изменений
1. Установка UbuntuДумаю установка Ubuntu-server не вызовет проблем даже у большинства пользователей компьютеров. Желательно при установке ОС сразу правильно указать название машины в сети (hostname) с указанием домена (для примера использую dc1.domain.local), чтобы в дальнейшем меньше надо было править конфигурацию в файлах. Если в сети не присутствует DHCP-сервер, установщик предложит ввести IP-адрес, маску сети, шлюз и DNS. Во время установки, также желательно установить OpenSSH server, чтобы иметь удаленный доступ к серверу, а также правильно указать часовой пояс, в котором находится машина.
2. Настройка параметров сетевого адаптераНастройки сети хранятся в файле /etc/network/interfaces Редактируем его на свой вкус. В качестве редактора можно использовать nano, vi и т.п. Для редактирования файлов понадобятся root права, их можно получить например командой sudo su после этого, Вы будете работать из под пользователя root.О том что Вы работаете с правами root пользователя свидетельствует знак # в приглашении командной строки Либо Вы можете перед каждой командой, которая требует root доступа, приписывать sudo sudo nano /etc/network/interfaces В конфигурации Вашего сетевого интерфейса, скорее всего, будет iface eth0 inet dhcpпоменяем настройки на использование статичного ip-адреса. В моем случае они выглядят вот так: auto loПосле изменения сетевых настроек необходимо перезапустить сетевой сервис /etc/init.d/networking restart 3. Установка необходимых пакетовЕсли Вы все же не установили OpenSSH server на первом этапе, это можно сделать командой apt-get install ssh Перед установкой чего либо, лучше сначала обновить систему и пакеты командой apt-get update && apt-get upgrade Для того, чтобы компьютеры сети сверяли время по нашему серверу установим ntp-сервер apt-get install ntp Samba4 будем использовать последней версии и собирать из исходников, так что нам понадобятся пакеты для её сборки и корректной работы. apt-get install git checkinstall build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr docbook-xsl libcups2-dev acl 4. Сборка Samba4Для корректной работы Samba потребуется поддержка vfs на уровне файловой системы, для этого внесем изменения в /etc/fstab, необходимо добавить user_xattr,acl,barrier=1 в настройки корневого раздела / nano /etc/fstab должна получится строка, что-то вроде этой:
/dev/mapper/dc1--vg-root / ext4 user_xattr,acl,barrier=1,errors=remount-ro 0 1после чего необходимо перезагрузить компьютер reboot Не забываем про root права sudo su Скачиваем последнюю стабильную версию Samba из GIT репозитария cd /usr/src git clone -b v4-1-stable git://git.samba.org/samba.git samba-v4-1-stable конфигурируем, компилируем и устанавливаем Samba cd samba-v4-1-stable && ./configure --enable-debug && make && checkinstall Параметр --enable-debug необходим для отображения более подробной информации в логах Samba.
После того, как соберется и установится Samba (это долгое занятие), для удобства её использования, необходимо прописать пути до исполняемых файлов /usr/local/samba/sbin и /usr/local/samba/bin в файлах /etc/sudoers переменная secure_path и /etc/environment переменная PATH , добавив строку :/usr/local/samba/sbin:/usr/local/samba/bin Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/samba/sbin:/usr/local/samba/bin" nano /etc/environment должна получится строчка что-то вроде этой:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/samba/sbin:/usr/local/samba/bin" перезагрузимся еще раз (на всякий случай) reboot 5. Поднимаем ADВ качестве DNS сервера AD будем использовать Samba, поэтому отключаем bind командой service bind9 stop && update-rc.d bind9 disable Для манипуляций с AD в Samba существует инструмент samba-tool. Для первоначальной настройки Samba вводим команду samba-tool domain provision Если на первом этапе Вы правильно указали имя компьютера, все настройки, которые запросит программа, можно оставить поумолчанию. Во время настройки будет запрошен пароль пользователя Administrator для AD, он должен соответствовать требованиям сложности пароля поумолчанию: хотябы одна буква верхнего регистра, хотябы одна цифра, минимум 8 символов. Если же пароль не подошел по сложности и Вы увидели ошибку вроде этой: ERROR(ldb): uncaught exception - 0000052D: Constraint violation - check_password_restrictions: the password is too short. It should be equal or longer than 7 characters!то перед повторным выполнением первоначальной настройки, необходимо удалить содержимое каталогов /usr/local/samba/private/ и /usr/local/samba/etc/ Если необходимо изменить сложность паролей это можно сделать командой samba-tool domain passwordsettings set --min-pwd-length=6 --complexity=off --max-pwd-age=0 --min-pwd-age=0 эта команда отключает требование сложности, отключает сроки действия паролей, устанавливает минимальную длину пароля 6 символов
Далее необходимо подправить настройки Samba и добавить туда следующие строки в секцию [global] allow dns updates = nonsecure and secureЭто позволит динамически обновлять DNS-записи на сервере, при входе рабочей станции (под управлением windows) в домен и отключит поддержку печати, которая постоянно выдает ошибки в лог. В файле /etc/resolvconf/resolv.conf.d/head необходимо указать наш DNS-сервер Samba 127.0.0.1 /etc/init.d/samba4 его необходимо сделать исполняемым chmod 755 /etc/init.d/samba4 и создать настройки поумолчанию update-rc.d samba4 defaults Перезагружаем компьютер reboot 6. Проверяем работоспособность сервераУ нас должна быть запущена samba после перезагрузки ps aux / grep samba
root 865 0.3 3.0 95408 31748? Ss 18:59 0:00 /usr/local/samba/sbin/samba -D Должен работать DNS сервер nslookup dc1
Server: 127.0.0.1 Должны быть доступны сетевые ресурсы AD smbclient -L localhost -U%
Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6] Должен подключаться Kerberos kinit administrator
Warning: Your password will expire in 41 days on Wed Apr 23 18:49:14 2014 Должен храниться Ticket kerberos'a klist
Valid starting Expires Service principal Должна проходить аутентификация netlogon smbclient //localhost/netlogon -UAdministrator -c 'ls'
Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.1.6] Вот и всё. Управлять AD можно: Этот пост можно считать неким переводом официального wiki Samba, который находится по адресу: P.S. Если кому-то будет интересно могу еще написать "мануал" про включение резервного контроллера на Ubuntu в домен. Ссылки по теме
|
|
|