ActiveDirectory/DC
Материал из ALT Linux Wiki
(Add Samba log) |
(→Сначала ставит пакеты, а уже потом вырубаем службы которые связанные со сетью) |
||
(58 промежуточных версий не показаны.) | |||
Строка 16: | Строка 16: | ||
Не поддерживаются следующие возможности[https://lists.samba.org/archive/samba/2014-October/186126.html]: | Не поддерживаются следующие возможности[https://lists.samba.org/archive/samba/2014-October/186126.html]: | ||
- | * Не реплицируется хранилище SYSVOL (можно использовать osync[https://wiki.samba.org/index.php/SysVol_Bidirectional_Replication]); | + | * Не реплицируется хранилище SYSVOL (можно использовать osync[https://wiki.samba.org/index.php/SysVol_Bidirectional_Replication][https://wiki.samba.org/index.php/Rsync_based_SysVol_replication_workaround]); |
* Доверительные отношения только в одном направлении (от Windows к Samba, но не наоборот[https://wiki.samba.org/index.php/FAQ#Trusts]) (что не позволяет реализовать лес доменов); | * Доверительные отношения только в одном направлении (от Windows к Samba, но не наоборот[https://wiki.samba.org/index.php/FAQ#Trusts]) (что не позволяет реализовать лес доменов); | ||
* Не поддерживаются поддомены[https://lists.samba.org/archive/samba/2015-June/192441.html]; | * Не поддерживаются поддомены[https://lists.samba.org/archive/samba/2015-June/192441.html]; | ||
+ | ** В Samba отсутствует глобальный каталог (GC) и полноценная поддержка фантомных объектов; | ||
+ | ** Проблемы при построении структуры AD (Active Directory browser), проблемы при поиске объектов в другом домене; | ||
+ | ** При применении групповых политик в многодоменной среде могут быть проблемы с определением, в каком домене находится компьютер; | ||
* [https://wiki.samba.org/index.php/DFS DFS] работает только в режиме одиночного сервера; | * [https://wiki.samba.org/index.php/DFS DFS] работает только в режиме одиночного сервера; | ||
* Не реализовано DFS-R; | * Не реализовано DFS-R; | ||
* Не полностью реализовано RODC; | * Не полностью реализовано RODC; | ||
- | * '' | + | * Ограничения размера базы TDB в 4 ГБ. Это ограничение приводит к невозможности перехода от леса доменов к плоской структуре с одним доменом.[http://ldapcon.org/2015/wp-content/uploads/2015/09/ivanova-samba_backend.pdf] |
- | * Не | + | * ''Не закончено тестирование'' поддержки CTDB (хранение данных в кластерной инфраструктуре); |
+ | * ''Не закончено тестирование'' работы Winbind. | ||
- | {{Attention|Samba AD DC несовместима с OpenLDAP и MIT Kerberos, поэтому | + | Смотрите также статью [http://habrahabr.ru/post/272777/ Возможности и ограничения Samba 4 как контроллера домена Active Directory] на http://habrahabr.ru/. |
- | {{Attention|Samba AD DC функционирует на уровне контроллера доменов Windows 2008. Вы можете ввести его в домен Windows 2012 как клиента, но не как контроллер домена.}} | + | |
+ | {{Attention|Samba AD DC несовместима с OpenLDAP и MIT Kerberos, поэтому службы, использующие MIT Kerberos, несовместимы с ним.}} | ||
+ | {{Attention|Samba AD DC функционирует на уровне контроллера доменов Windows 2008 R2. Вы можете ввести его в домен Windows 2012 как клиента, но не как контроллер домена.}} | ||
= Установка = | = Установка = | ||
+ | 1. Установите пакет {{pkg|task-samba-dc}} {{Since|4.3.1}}, который установит необходимое. | ||
- | + | {{Note|До версии 4.3.1 требовалось явно установить пакеты: {{pkg|samba-DC python-module-samba-DC samba-DC-common samba-DC-winbind-clients samba-DC-winbind samba-DC-client krb5-kinit}}}} | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | {{ | + | 2. Так как Samba в режиме контроллера домена (Doman Controller, DC) использует как свой LDAP, так и свой сервер Kerberos, несовместимый с MIT Kerberos, перед установкой |
- | + | остановите конфликтующие службы {{cmd|krb5kdc}} и {{cmd|slapd}}, а также {{cmd|bind}}: | |
- | + | for service in smb nmb krb5kdc slapd bind; do chkconfig $service off; service $service stop; done | |
- | + | ||
- | ; | + | |
- | + | ||
- | + | ||
- | + | ||
- | = | + | = Создание нового домена = |
- | + | == Восстановление к начальному состоянию samba == | |
- | + | Очищаем базы и конфигурацию Samba (если уже создавался домен): | |
- | + | rm -f /etc/samba/smb.conf | |
- | + | rm -rf /var/lib/samba | |
- | + | mkdir -p /var/lib/samba/sysvol | |
- | + | ||
- | + | ||
- | + | {{Attention|Обязательно удаляйте {{path|/etc/samba/smb.conf}} перед созданием домена: <source lang="bash">rm -f /etc/samba/smb.conf</source>}} | |
- | <source lang=" | + | |
- | = Выбор имени домена = | + | == Выбор имени домена == |
- | Имя домена для разворачиваемого DC | + | Имя домена для разворачиваемого DC должно состоять минимум из двух компонентов, разделённых точкой. |
- | При этом | + | При этом должно быть установлено правильное имя узла и домена для сервера: |
* HOSTNAME=dc.school.alt в {{path|/etc/sysconfig/network}} | * HOSTNAME=dc.school.alt в {{path|/etc/sysconfig/network}} | ||
- | * hostname dc.school.alt | + | * # hostname dc.school.alt |
- | * domainname school.alt | + | * # domainname school.alt |
- | + | {{Attention|При указании домена, имеющего суффикс '''.local''', потребуется на сервере и подключаемых компьютерах под управлением Linux <u>'''отключить''' службу {{cmd|avahi-daemon}}</u>.}} | |
- | + | == Создание домена одной командой == | |
- | + | Создание контроллера домена ''school.alt'' с паролем администратора ''Pa$$word'': | |
- | + | ||
+ | samba-tool domain provision --realm=school.alt --domain school --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307 | ||
+ | |||
+ | == Интерактивное создание домена == | ||
+ | |||
+ | В примере показано создание домена ''school.alt''. | ||
- | + | Запустите {{cmd|samba-tool domain provision}}: | |
<source lang="text"># samba-tool domain provision | <source lang="text"># samba-tool domain provision | ||
Realm [SCHOOL.ALT]: | Realm [SCHOOL.ALT]: | ||
Строка 136: | Строка 127: | ||
При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»). | При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»). | ||
- | {{Note|Пароль администратора должен быть не менее | + | {{Note|Пароль администратора должен быть не менее 7 символов и содержать символы как минимум трёх групп из четырёх возможных: латинских букв в верхнем и нижнем регистрах, чисел и других небуквенно-цифровых символов.}} |
Параметры ''--use-rfc2307 --use-xattrs=yes'' позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux. | Параметры ''--use-rfc2307 --use-xattrs=yes'' позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux. | ||
Строка 178: | Строка 169: | ||
WORKGROUP HOST-15</source> | WORKGROUP HOST-15</source> | ||
- | 3. Проверка конфигурации DNS | + | 3. Проверка конфигурации DNS |
+ | |||
+ | 3.1 Убедитесь в наличии <tt>nameserver 127.0.0.1</tt> в {{path|/etc/resolv.conf}}: | ||
+ | host school.alt | ||
+ | 3.2 Проверяем имена хостов: | ||
<source lang="text"># host -t SRV _kerberos._udp.school.alt. | <source lang="text"># host -t SRV _kerberos._udp.school.alt. | ||
_kerberos._udp.school.alt has SRV record 0 100 88 c228.school.alt. | _kerberos._udp.school.alt has SRV record 0 100 88 c228.school.alt. | ||
Строка 189: | Строка 184: | ||
4. Проверка Kerberos: | 4. Проверка Kerberos: | ||
+ | {{Attention|Имя домена должно быть в '''верхнем регистре''', иначе выдаст: <source lang="text">kinit: KDC reply did not match expectations while getting initial credentials</source>}} | ||
<source lang="text"># kinit administrator@SCHOOL.ALT | <source lang="text"># kinit administrator@SCHOOL.ALT | ||
Password for administrator@SCHOOL.ALT: | Password for administrator@SCHOOL.ALT: | ||
Строка 201: | Строка 197: | ||
30.09.2014 10:23:54 30.09.2014 20:23:54 krbtgt/SCHOOL.ALT@SCHOOL.ALT | 30.09.2014 10:23:54 30.09.2014 20:23:54 krbtgt/SCHOOL.ALT@SCHOOL.ALT | ||
renew until 01.10.2014 10:23:45</source> | renew until 01.10.2014 10:23:45</source> | ||
+ | |||
+ | {{Attention|Для серверов, не внесённых в зону обратного просмотра DNS, авторизация через nslcd по GSSAPI будет вылетать с диагностикой: <source lang="text">Local error: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Server not found in Kerberos database)</source>}} | ||
= Управление пользователями = | = Управление пользователями = | ||
Создать пользователя с паролем, : | Создать пользователя с паролем, : | ||
- | samba-tool user | + | samba-tool user create <имя пользователя> |
samba-tool user setexpiry <имя пользователя> | samba-tool user setexpiry <имя пользователя> | ||
Например, | Например, | ||
- | samba-tool user | + | samba-tool user create ivanov --given-name='Иван Иванов' --mail-address='ivanov@stand.alt' |
Просмотреть доступных пользователей: | Просмотреть доступных пользователей: | ||
samba-tool user list | samba-tool user list | ||
- | + | Не забудьте разблокировать пользователя: | |
+ | samba-tool user setexpiry <имя пользователя> --noexpiry | ||
- | Если компьютер с таким именем заведён, | + | {{Attention|Не допускайте одинаковых имён для пользователя и компьютера, это может привести к коллизиям (например, такого пользователя нельзя добавить в группу). [http://support2.microsoft.com/kb/310845]}} |
+ | |||
+ | Если компьютер с таким именем заведён, удалить его можно командой: | ||
pdbedit -x -m <имя> | pdbedit -x -m <имя> | ||
Строка 225: | Строка 226: | ||
Имя узла: ''dc2.school.alt (192.168.1.106)'' | Имя узла: ''dc2.school.alt (192.168.1.106)'' | ||
- | 1 | + | 1. На PDC не забываем выключить службу bind и, если она была включена, перезапустить службу samba. Заводим адрес IP для dc2: |
- | + | {{Attention|Указание аутентифицирующей информации (имени пользователя и пароля) '''обязательно'''!}} | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
# samba-tool dns add 192.168.1.1 school.alt DC2 A 192.168.1.106 -Uadministrator | # samba-tool dns add 192.168.1.1 school.alt DC2 A 192.168.1.106 -Uadministrator | ||
- | + | 2. На ''dc2.school.alt'' правим файл {{path|/etc/krb5.conf}}: | |
[libdefaults] | [libdefaults] | ||
default_realm = SCHOOL.ALT | default_realm = SCHOOL.ALT | ||
Строка 239: | Строка 236: | ||
dns_lookup_kdc = true | dns_lookup_kdc = true | ||
- | {{Note|В resolvconf обязательно должен быть добавлен PDC как {{term|nameserver}}}} | + | {{Note|В resolvconf обязательно должен быть добавлен PDC как {{term|nameserver}}.}} |
- | + | 3. Получаем билет и убеждаемся, что билет получен: | |
+ | {{Attention|Имя домена должно быть указано '''в верхнем регистре'''}} | ||
<pre># kinit administrator@SCHOOL.ALT | <pre># kinit administrator@SCHOOL.ALT | ||
Password for administrator@SCHOOL.ALT: | Password for administrator@SCHOOL.ALT: | ||
Строка 253: | Строка 251: | ||
renew until 08.10.2014 18:50:51</pre> | renew until 08.10.2014 18:50:51</pre> | ||
- | + | 4. Вводим в домен: | |
# samba-tool domain join school.alt DC -Uadministrator --realm=school.alt | # samba-tool domain join school.alt DC -Uadministrator --realm=school.alt | ||
Строка 259: | Строка 257: | ||
Joined domain SCHOOL (SID S-1-5-21-80639820-2350372464-3293631772) as a DC | Joined domain SCHOOL (SID S-1-5-21-80639820-2350372464-3293631772) as a DC | ||
- | + | 5. Делаем службу {{cmd|samba}} запускаемой по умолчанию: | |
- | # samba | + | # chkconfig samba on |
- | + | Если подключались к DC под управлением Windows, запустите службу {{cmd|samba}}: | |
+ | # service samba start | ||
+ | |||
+ | = Репликация = | ||
+ | {{Attention|Помните, что без успешной двунаправленной репликации в течение 14 дней DC '''исключается''' из Active Directory}} | ||
+ | {{Attention|Указание аутентифицирующей информации (имени пользователя и пароля) '''обязательно'''!}} | ||
+ | 1. Реплицируем '''на вторичном DC''' (с первичного): | ||
+ | |||
+ | # samba-tool drs replicate dc2.school.alt c228.school.alt dc=school,dc=alt -Uadministrator | ||
+ | |||
+ | (сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP). | ||
+ | |||
+ | 2. Реплицируем '''на вторичном DC''' (на первичный): | ||
+ | |||
+ | # samba-tool drs replicate с228.school.alt dc2.school.alt dc=school,dc=alt -Uadministrator | ||
+ | |||
+ | (сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP). | ||
+ | |||
+ | {{Note|Имя домена в именах серверов можно опустить (если они одинаковые)}} | ||
+ | |||
+ | 3. Просмотр статуса репликации на PDC: | ||
# samba-tool drs showrepl | # samba-tool drs showrepl | ||
+ | |||
+ | {{Note|Если репликация на Windows не работает, добавьте в ''Active Directory Sites and Services'' новое соединение Active Directory. Реплицируйте на DC, подождите минут 5 и пробуйте реплицировать с Samba на Windows}} | ||
= Ссылки = | = Ссылки = | ||
- | * https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO | + | * Рекомендуемые серверные установочные образы (после установки выполните [[обновление ОС]]): |
- | * https://wiki.samba.org/index.php/Installing_RSAT_on_Windows_for_AD_Management | + | ** [http://basealt.ru/products/alt-server/ Альт Сервер] |
- | * [https://wiki.samba.org/index.php/Samba4/HOWTO/Join_a_domain_as_a_DC Добавление ещё одного DC в домен] | + | ** [http://basealt.ru/products/alt-spt/ Альт Линукс СПТ 7.0] (сертификат ФСТЭК) |
- | * [ | + | ** стартеркиты: [http://nightly.altlinux.org/p8/permalink/alt-p8-server-latest-x86_64.iso x86_64], [http://nightly.altlinux.org/p8/permalink/alt-p8-server-latest-i586.iso i586] (GPL) |
- | * [ | + | * Тестовые образы: |
- | * [http://www.youtube.com/watch?v=8tYnjp_BleI Заведение групповых политик для домена (ролик)] | + | ** [http://nightly.altlinux.org/p7/beta/ altlinux-p7-server-samba4.iso] (старая стабильная ветка) |
- | * | + | ** [http://nightly.altlinux.org/sisyphus/alpha/ regular-server-samba4.iso] (нестабильная ветка) |
- | * http://wiki.skytech.dk/index.php/Samba_4_-_domain_controller#Join_domain_with_a_linux_machine | + | * Документация на русском языке: |
- | + | ** [http://smb-conf.ru/samba4-addc.html Инструкция по настройке Samba в качестве контроллера домена, совместимого с Active Directory] | |
+ | ** [http://habrahabr.ru/post/259029/ Samba4 — использование Python Scripting Interface] | ||
+ | ** [http://habrahabr.ru/post/272777/ Возможности и ограничения Samba 4 как контроллера домена Active Directory] | ||
+ | * wiki.samba.org: | ||
+ | ** [https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO Samba AD DC HOWTO] | ||
+ | ** [https://wiki.samba.org/index.php/Installing_RSAT_on_Windows_for_AD_Management Installing RSAT on Windows for AD Management] | ||
+ | ** [https://wiki.samba.org/index.php/Samba4/HOWTO/Join_a_domain_as_a_DC Добавление ещё одного DC в домен] | ||
+ | ** [https://wiki.samba.org/index.php/Samba_%26_Windows_Profiles Samba & Windows Profiles] | ||
+ | ** [https://wiki.samba.org/index.php/Join_an_additional_Samba_DC_to_an_existing_Active_Directory Join an additional Samba DC to an existing Active Directory] | ||
+ | ** [https://wiki.samba.org/index.php/Backup_and_restore_an_Samba_AD_DC Backup and restore an Samba AD DC] | ||
+ | * Иные ресурсы: | ||
+ | ** [http://www.youtube.com/watch?v=8tYnjp_BleI Заведение групповых политик для домена (ролик)] | ||
+ | ** [http://wiki.skytech.dk/index.php/Samba_4_-_domain_controller#Join_domain_with_a_linux_machine Samba 4 - domain controller#Join domain with a linux machine] | ||
= Советы = | = Советы = | ||
Строка 280: | Строка 312: | ||
* Для того, чтобы посмотреть конфигурацию LDAP контроллера домена, получите билет Kerberos (через {{cmd|kinit}}) и выполните: | * Для того, чтобы посмотреть конфигурацию LDAP контроллера домена, получите билет Kerberos (через {{cmd|kinit}}) и выполните: | ||
<source lang="Bash">ldapsearch -LLL -b '' -s base -x</source> | <source lang="Bash">ldapsearch -LLL -b '' -s base -x</source> | ||
+ | <!--* Для выполнения задач с помощью samba-tool, требующих прав администратора, указание его пароля в параметре {{term|-Uadministrator%пароль}} можно заменить на использование Kerberos (в этом случае -U указывать нельзя): | ||
+ | <source lang="Bash">kinit Administrator | ||
+ | samba-tool -k yes ...</source>--> | ||
+ | * Для отключения проверки необходимой длины и стойкости паролей выполните: | ||
+ | samba-tool domain passwordsettings set --complexity=off | ||
+ | samba-tool domain passwordsettings set --history-length=0 | ||
+ | samba-tool domain passwordsettings set --min-pwd-age=0 | ||
+ | samba-tool domain passwordsettings set --max-pwd-age=0 | ||
+ | * Для просмотра всех записей DNS домена выполните: | ||
+ | samba-tool dns query localhost test.altlinux '@' ALL -U 'Administrator%Pa$$word' | ||
+ | * Для удаления заведённого хоста выполните: | ||
+ | samba-tool dns delete localhost test.altlinux host-51 A 192.168.3.51 -U 'Administrator%Pa$$word' | ||
+ | |||
+ | = Troubleshooting = | ||
+ | |||
+ | ;Если домен не создаётся с ошибкой типа <code lang="text">ERROR(ldb): uncaught exception - operations error at ../source4/dsdb/samdb/ldb_modules/password_hash.c:2241</code> | ||
+ | :Удалите директиву {{cmd|include}} или {{cmd|includedir}} в {{path|/etc/krb5.conf}}[https://github.com/heimdal/heimdal/issues/89] | ||
[[Категория:HOWTO]] | [[Категория:HOWTO]] |
Текущая версия на 14:41, 13 июня 2017
Использование Samba 4 в роли контроллера домена Active Directory. Такой способ позволяет вводить Windows 7/8 в домен безо всяких манипуляций с реестром.
Содержание |
Возможности
Поддерживаются базовые возможности Active Directory:
- Аутентификация рабочих станций Windows и Linux и служб;
- Авторизация и предоставление ресурсов;
- Групповые политики (GPO);
- Перемещаемые профили (Roaming Profiles);
- Поддержка инструментов Microsoft для управления серверами (Remote Server Administration Tools) с компьютеров под управлением Windows (под WINE не работает);
- Поддержка протоколов SMB2 и SMB3 (в том числе с поддержкой шифрования);
- Репликация с другими серверами (в том числе с Windows 2012).
Не поддерживается
Не поддерживаются следующие возможности[1]:
- Не реплицируется хранилище SYSVOL (можно использовать osync[2][3]);
- Доверительные отношения только в одном направлении (от Windows к Samba, но не наоборот[4]) (что не позволяет реализовать лес доменов);
- Не поддерживаются поддомены[5];
- В Samba отсутствует глобальный каталог (GC) и полноценная поддержка фантомных объектов;
- Проблемы при построении структуры AD (Active Directory browser), проблемы при поиске объектов в другом домене;
- При применении групповых политик в многодоменной среде могут быть проблемы с определением, в каком домене находится компьютер;
- DFS работает только в режиме одиночного сервера;
- Не реализовано DFS-R;
- Не полностью реализовано RODC;
- Ограничения размера базы TDB в 4 ГБ. Это ограничение приводит к невозможности перехода от леса доменов к плоской структуре с одним доменом.[6]
- Не закончено тестирование поддержки CTDB (хранение данных в кластерной инфраструктуре);
- Не закончено тестирование работы Winbind.
Смотрите также статью Возможности и ограничения Samba 4 как контроллера домена Active Directory на http://habrahabr.ru/.
Установка
1. Установите пакет task-samba-dc с версии 4.3.1 , который установит необходимое.
2. Так как Samba в режиме контроллера домена (Doman Controller, DC) использует как свой LDAP, так и свой сервер Kerberos, несовместимый с MIT Kerberos, перед установкой остановите конфликтующие службы krb5kdc и slapd, а также bind:
for service in smb nmb krb5kdc slapd bind; do chkconfig $service off; service $service stop; done
Создание нового домена
Восстановление к начальному состоянию samba
Очищаем базы и конфигурацию Samba (если уже создавался домен):
rm -f /etc/samba/smb.conf rm -rf /var/lib/samba mkdir -p /var/lib/samba/sysvol
rm -f /etc/samba/smb.conf
Выбор имени домена
Имя домена для разворачиваемого DC должно состоять минимум из двух компонентов, разделённых точкой.
При этом должно быть установлено правильное имя узла и домена для сервера:
- HOSTNAME=dc.school.alt в /etc/sysconfig/network
- # hostname dc.school.alt
- # domainname school.alt
Создание домена одной командой
Создание контроллера домена school.alt с паролем администратора Pa$$word:
samba-tool domain provision --realm=school.alt --domain school --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307
Интерактивное создание домена
В примере показано создание домена school.alt.
Запустите samba-tool domain provision:
# samba-tool domain provision Realm [SCHOOL.ALT]: Domain [SCHOOL]: Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: Administrator password: Retype password: Looking up IPv4 addresses More than one IPv4 address found. Using 192.168.1.1 Looking up IPv6 addresses No IPv6 address will be assigned Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=school,DC=alt Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Modifying display specifiers Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=school,DC=alt Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf Once the above files are installed, your Samba4 server will be ready to use Server Role: active directory domain controller Hostname: c228 NetBIOS Domain: SCHOOL DNS Domain: school.alt DOMAIN SID: S-1-5-21-80639820-2350372464-3293631772
При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»).
Параметры --use-rfc2307 --use-xattrs=yes позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
Запуск службы
Установите службу по умолчанию и запустите её:
chkconfig samba on service samba start
Проверка работоспособности
1. Общая информация о домене:
# samba-tool domain info 127.0.0.1 Forest : school.alt Domain : school.alt Netbios domain : SCHOOL DC name : c228.school.alt DC netbios name : C228 Server site : Default-First-Site-Name Client site : Default-First-Site-Name
2. Просмотр предоставляемых служб:
# smbclient -L localhost -Uadministrator Enter administrator's password: Domain=[SCHOOL] OS=[Unix] Server=[Samba 4.0.21] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.0.21) Domain=[SCHOOL] OS=[Unix] Server=[Samba 4.0.21] Server Comment --------- ------- Workgroup Master --------- ------- SCHOOL.ALT C228 WORKGROUP HOST-15
3. Проверка конфигурации DNS
3.1 Убедитесь в наличии nameserver 127.0.0.1 в /etc/resolv.conf:
host school.alt
3.2 Проверяем имена хостов:
# host -t SRV _kerberos._udp.school.alt. _kerberos._udp.school.alt has SRV record 0 100 88 c228.school.alt. # host -t SRV _ldap._tcp.school.alt. _ldap._tcp.school.alt has SRV record 0 100 389 c228.school.alt. # host -t A c228.school.alt. c228.school.alt has address 192.168.1.1
Если имена не находятся, проверяйте выключение службы named.
4. Проверка Kerberos:
kinit: KDC reply did not match expectations while getting initial credentials
# kinit administrator@SCHOOL.ALT Password for administrator@SCHOOL.ALT: Warning: Your password will expire in 41 days on Вт 11 ноя 2014 08:58:30
Просмотр полученного билета:
# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@SCHOOL.ALT Valid starting Expires Service principal 30.09.2014 10:23:54 30.09.2014 20:23:54 krbtgt/SCHOOL.ALT@SCHOOL.ALT renew until 01.10.2014 10:23:45
Local error: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Server not found in Kerberos database)
Управление пользователями
Создать пользователя с паролем, :
samba-tool user create <имя пользователя> samba-tool user setexpiry <имя пользователя>
Например,
samba-tool user create ivanov --given-name='Иван Иванов' --mail-address='ivanov@stand.alt'
Просмотреть доступных пользователей:
samba-tool user list
Не забудьте разблокировать пользователя:
samba-tool user setexpiry <имя пользователя> --noexpiry
Если компьютер с таким именем заведён, удалить его можно командой:
pdbedit -x -m <имя>
Заведение вторичного DC
Подробная инструкция на английском языке: https://wiki.samba.org/index.php/Join_a_domain_as_a_DC
Имя узла: dc2.school.alt (192.168.1.106)
1. На PDC не забываем выключить службу bind и, если она была включена, перезапустить службу samba. Заводим адрес IP для dc2:
# samba-tool dns add 192.168.1.1 school.alt DC2 A 192.168.1.106 -Uadministrator
2. На dc2.school.alt правим файл /etc/krb5.conf:
[libdefaults] default_realm = SCHOOL.ALT dns_lookup_realm = true dns_lookup_kdc = true
3. Получаем билет и убеждаемся, что билет получен:
# kinit administrator@SCHOOL.ALT Password for administrator@SCHOOL.ALT: Warning: Your password will expire in 37 days on Пт 14 ноя 2014 14:31:40 # klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@SCHOOL.ALT Valid starting Expires Service principal 07.10.2014 18:51:01 08.10.2014 04:51:01 krbtgt/SCHOOL.ALT@SCHOOL.ALT renew until 08.10.2014 18:50:51
4. Вводим в домен:
# samba-tool domain join school.alt DC -Uadministrator --realm=school.alt
Если всё нормально, в конце видим:
Joined domain SCHOOL (SID S-1-5-21-80639820-2350372464-3293631772) as a DC
5. Делаем службу samba запускаемой по умолчанию:
# chkconfig samba on
Если подключались к DC под управлением Windows, запустите службу samba:
# service samba start
Репликация
1. Реплицируем на вторичном DC (с первичного):
# samba-tool drs replicate dc2.school.alt c228.school.alt dc=school,dc=alt -Uadministrator
(сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP).
2. Реплицируем на вторичном DC (на первичный):
# samba-tool drs replicate с228.school.alt dc2.school.alt dc=school,dc=alt -Uadministrator
(сначала указывается приемник, затем источник, после этого реплицируемая ветка в LDAP).
3. Просмотр статуса репликации на PDC:
# samba-tool drs showrepl
Ссылки
- Рекомендуемые серверные установочные образы (после установки выполните обновление ОС):
- Альт Сервер
- Альт Линукс СПТ 7.0 (сертификат ФСТЭК)
- стартеркиты: x86_64, i586 (GPL)
- Тестовые образы:
- altlinux-p7-server-samba4.iso (старая стабильная ветка)
- regular-server-samba4.iso (нестабильная ветка)
- Документация на русском языке:
- wiki.samba.org:
- Иные ресурсы:
Советы
- Введите в домен машину с Windows, установите на неё Remote Server Administration Tools и управляйте доменом из графического интерфейса.
- Для того, чтобы посмотреть конфигурацию LDAP контроллера домена, получите билет Kerberos (через kinit) и выполните:
ldapsearch -LLL -b '' -s base -x
- Для отключения проверки необходимой длины и стойкости паролей выполните:
samba-tool domain passwordsettings set --complexity=off samba-tool domain passwordsettings set --history-length=0 samba-tool domain passwordsettings set --min-pwd-age=0 samba-tool domain passwordsettings set --max-pwd-age=0
- Для просмотра всех записей DNS домена выполните:
samba-tool dns query localhost test.altlinux '@' ALL -U 'Administrator%Pa$$word'
- Для удаления заведённого хоста выполните:
samba-tool dns delete localhost test.altlinux host-51 A 192.168.3.51 -U 'Administrator%Pa$$word'
Troubleshooting
- Если домен не создаётся с ошибкой типа
ERROR(ldb): uncaught exception - operations error at ../source4/dsdb/samdb/ldb_modules/password_hash.c:2241
- Удалите директиву include или includedir в /etc/krb5.conf[8]