SambaAD — различия между версиями
Строка 46: | Строка 46: | ||
В примере показано создание домена ''git.ru''. | В примере показано создание домена ''git.ru''. | ||
− | Запустите | + | Запустите '''samba-tool domain provision''': |
<source lang="text"># samba-tool domain provision | <source lang="text"># samba-tool domain provision | ||
− | Realm [ | + | Realm [GIT.RU]: |
− | Domain [ | + | Domain [GIT]: |
Server Role (dc, member, standalone) [dc]: | Server Role (dc, member, standalone) [dc]: | ||
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: | DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: | ||
Строка 59: | Строка 59: | ||
При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»). | При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»). | ||
{{Note|Пароль администратора должен быть не менее 7 символов и содержать символы как минимум трёх групп из четырёх возможных: латинских букв в верхнем и нижнем регистрах, чисел и других небуквенно-цифровых символов.}} | {{Note|Пароль администратора должен быть не менее 7 символов и содержать символы как минимум трёх групп из четырёх возможных: латинских букв в верхнем и нижнем регистрах, чисел и других небуквенно-цифровых символов.}} | ||
− | |||
Параметры ''--use-rfc2307 --use-xattrs=yes'' позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux. | Параметры ''--use-rfc2307 --use-xattrs=yes'' позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux. | ||
Строка 67: | Строка 66: | ||
chkconfig samba on | chkconfig samba on | ||
service samba start | service samba start | ||
− | |||
{{note|Если служба после установки никаким способом не запускается, перезагрузите сервер}} | {{note|Если служба после установки никаким способом не запускается, перезагрузите сервер}} | ||
− | |||
= Настройка Kerberos = | = Настройка Kerberos = | ||
Откройте от имени суперпользователя файл /etc/krb5.conf. | Откройте от имени суперпользователя файл /etc/krb5.conf. | ||
Строка 83: | Строка 80: | ||
1. Общая информация о домене: | 1. Общая информация о домене: | ||
<source lang="text"># samba-tool domain info 127.0.0.1 | <source lang="text"># samba-tool domain info 127.0.0.1 | ||
− | Forest : | + | Forest : git.ru |
− | Domain : | + | Domain : git.ru |
− | Netbios domain : | + | Netbios domain : GIT |
− | DC name : | + | DC name : ad.git.ru |
− | DC netbios name : | + | DC netbios name : AD |
Server site : Default-First-Site-Name | Server site : Default-First-Site-Name | ||
Client site : Default-First-Site-Name</source> | Client site : Default-First-Site-Name</source> | ||
Строка 94: | Строка 91: | ||
<source lang="text"># smbclient -L localhost -U administrator | <source lang="text"># smbclient -L localhost -U administrator | ||
Enter administrator's password: | Enter administrator's password: | ||
− | Domain=[ | + | Domain=[GIT] OS=[Unix] Server=[Samba 4.0.21] |
Sharename Type Comment | Sharename Type Comment | ||
Строка 101: | Строка 98: | ||
sysvol Disk | sysvol Disk | ||
IPC$ IPC IPC Service (Samba 4.0.21) | IPC$ IPC IPC Service (Samba 4.0.21) | ||
− | Domain=[ | + | Domain=[GIT] OS=[Unix] Server=[Samba 4.0.21] |
Server Comment | Server Comment | ||
Строка 108: | Строка 105: | ||
Workgroup Master | Workgroup Master | ||
--------- ------- | --------- ------- | ||
− | + | GIT AD | |
WORKGROUP HOST-15</source> | WORKGROUP HOST-15</source> | ||
3. Проверка конфигурации DNS | 3. Проверка конфигурации DNS | ||
− | 3.1 Убедитесь в наличии <tt>nameserver 127.0.0.1</tt> в | + | 3.1 Убедитесь в наличии <tt>nameserver 127.0.0.1</tt> в '''/etc/resolv.conf''': |
− | host | + | host git.ru |
3.2 Проверяем имена хостов: | 3.2 Проверяем имена хостов: | ||
*адрес '''_kerberos._udp.'''''<nowiki>*</nowiki>адрес домена с точкой'' | *адрес '''_kerberos._udp.'''''<nowiki>*</nowiki>адрес домена с точкой'' | ||
− | <source lang="text"># host -t SRV _kerberos._udp. | + | <source lang="text"># host -t SRV _kerberos._udp.git.ru. |
− | _kerberos._udp. | + | _kerberos._udp.git.ru has SRV record 0 100 88 ad.git.ru. |
</source> | </source> | ||
*адрес '''_ldap._tcp.'''''<nowiki>*</nowiki>адрес домена с точкой'' | *адрес '''_ldap._tcp.'''''<nowiki>*</nowiki>адрес домена с точкой'' | ||
− | <source lang="text"># host -t SRV _ldap._tcp. | + | <source lang="text"># host -t SRV _ldap._tcp.git.ru. |
− | _ldap._tcp. | + | _ldap._tcp.git.ru has SRV record 0 100 389 ad.git.ru. |
</source> | </source> | ||
*'''адрес хоста'''.''<nowiki>*</nowiki>адрес домена с точкой'' | *'''адрес хоста'''.''<nowiki>*</nowiki>адрес домена с точкой'' | ||
− | <source lang="text"># host -t A | + | <source lang="text"># host -t A ad.git.ru. |
− | + | ad.git.ru has address 192.168.1.1 | |
</source> | </source> | ||
− | Если имена не находятся, проверяйте выключение службы | + | Если имена не находятся, проверяйте выключение службы '''named'''. |
4. Проверка Kerberos: | 4. Проверка Kerberos: | ||
− | {{ | + | {{Note|Имя домена должно быть в '''верхнем регистре''', иначе выдаст: <source lang="text">kinit: KDC reply did not match expectations while getting initial credentials</source>}} |
<source lang="text"># kinit administrator | <source lang="text"># kinit administrator | ||
− | Password for administrator@ | + | Password for administrator@GIT.RU: |
Warning: Your password will expire in 41 days on Вт 11 ноя 2014 08:58:30</source> | Warning: Your password will expire in 41 days on Вт 11 ноя 2014 08:58:30</source> | ||
Строка 140: | Строка 137: | ||
<source lang="text"># klist | <source lang="text"># klist | ||
Ticket cache: FILE:/tmp/krb5cc_0 | Ticket cache: FILE:/tmp/krb5cc_0 | ||
− | Default principal: administrator@ | + | Default principal: administrator@GIT.RU |
Valid starting Expires Service principal | Valid starting Expires Service principal | ||
− | 30.09.2014 10:23:54 30.09.2014 20:23:54 krbtgt/ | + | 30.09.2014 10:23:54 30.09.2014 20:23:54 krbtgt/GIT.RU@GIT.RU |
renew until 01.10.2014 10:23:45</source> | renew until 01.10.2014 10:23:45</source> | ||
− | {{ | + | {{Note|Для серверов, не внесённых в зону обратного просмотра 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 4: | + | 1.Проверьте соединение с Samba 4: |
− | + | <pre> | |
− | [root@ | + | [root@buh1 ~]# realm discover git.ru |
− | + | git.ru | |
type: kerberos | type: kerberos | ||
− | realm-name: | + | realm-name: git.ru |
− | domain-name: | + | domain-name: git.ru |
configured: kerberos-member | configured: kerberos-member | ||
server-software: active-directory | server-software: active-directory | ||
Строка 166: | Строка 162: | ||
login-formats: %U | login-formats: %U | ||
login-policy: allow-realm-logins | login-policy: allow-realm-logins | ||
− | [root@ | + | [root@buh1 ~]# |
− | + | </pre> | |
− | Присоединение к домену. | + | 2.Присоединение к домену. |
− | + | <pre> | |
− | [root@ | + | [root@buh1 ~]# realm join git.ru |
Password for Administrator: | Password for Administrator: | ||
− | [root@ | + | [root@buh1 ~]# |
− | + | </pre> | |
− | Проверьте, | + | 3.Проверьте, способность получения информации о пользователе от Samba4. |
− | + | <pre> | |
− | [root@ | + | [root@buh1 ~]# id SUNIL\\testuser |
uid=1570001104(testuser@my.domain) gid=1570000513(domain users@my.domain) groups=1570000513(domain users@my.domain) | uid=1570001104(testuser@my.domain) gid=1570000513(domain users@my.domain) groups=1570000513(domain users@my.domain) | ||
− | [root@ | + | [root@buh1 ~]# |
− | + | </pre> | |
Источники: [https://www.altlinux.org/SambaDC altlinux.org] [http://www.samba4.ru/?p=8 samba4.ru] | Источники: [https://www.altlinux.org/SambaDC altlinux.org] [http://www.samba4.ru/?p=8 samba4.ru] | ||
{{Samba}} | {{Samba}} |
Версия 17:42, 18 марта 2020
Внимание! Статья не завершена!
Содержание
[убрать]Контроллер домена
Установка
- CentOS/Fedora
yum install samba4
- Debian/Ubuntu
apt -y install samba krb5-config winbind smbclient
- ALT Linux
apt-get install task-samba-dc
Так как Samba в режиме контроллера домена (Doman Controller, DC) использует как свой LDAP, так и свой сервер Kerberos, несовместимый с MIT Kerberos, перед установкой остановите конфликтующие службы krb5kdc, slapd и Шаблон:Cmd:
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 rm -rf /var/cache/samba mkdir -p /var/lib/samba/sysvolОбязательно удаляйте /etc/samba/smb.conf перед созданием домена:
rm -f /etc/samba/smb.conf
Выбор имени домена
Имя домена для разворачиваемого DC должно состоять минимум из двух компонентов, разделённых точкой.
При этом должно быть установлено правильное имя узла и домена для сервера:
- HOSTNAME=dc.git.ru в /etc/sysconfig/network
- # hostname dc.git.ru
- # domainname git.ru
Внимание! При указании домена, имеющего суффикс .local, потребуется на сервере и подключаемых компьютерах под управлением Linux отключить службу avahi-daemon.
Создание домена одной командой
Создание контроллера домена git.ru с паролем администратора Pa$$word:
samba-tool domain provision --realm=git.ru --domain school --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307
Интерактивное создание домена
У Samba свой собственный DNS-сервер. В DNS forwarder IP address нужно указать внешний DNS-сервер, чтобы DC мог разрешать внешние доменные имена.
В примере показано создание домена git.ru.
Запустите samba-tool domain provision:
# samba-tool domain provision Realm [GIT.RU]: Domain [GIT]: 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:
При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»).
Параметры --use-rfc2307 --use-xattrs=yes позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
Запуск службы
Установите службу по умолчанию и запустите её:
chkconfig samba on service samba start
Настройка Kerberos
Откройте от имени суперпользователя файл /etc/krb5.conf.
Раскомментируйте строку "default realm" и введите название области.
Ниже, под строкой [realms] вместо EXAMPLE.COM введите название области, а вместо example.com в "default domain" введите IP-адрес сервера с Samba.
Под строкой [domain_realm] example.com и EXAMPLE.COM замените на ваш домен сохраняя регистр.
Проверка работоспособности
1. Общая информация о домене:
# samba-tool domain info 127.0.0.1 Forest : git.ru Domain : git.ru Netbios domain : GIT DC name : ad.git.ru DC netbios name : AD Server site : Default-First-Site-Name Client site : Default-First-Site-Name
2. Просмотр предоставляемых служб:
# smbclient -L localhost -U administrator Enter administrator's password: Domain=[GIT] OS=[Unix] Server=[Samba 4.0.21] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.0.21) Domain=[GIT] OS=[Unix] Server=[Samba 4.0.21] Server Comment --------- ------- Workgroup Master --------- ------- GIT AD WORKGROUP HOST-15
3. Проверка конфигурации DNS
3.1 Убедитесь в наличии nameserver 127.0.0.1 в /etc/resolv.conf:
host git.ru
3.2 Проверяем имена хостов:
- адрес _kerberos._udp.*адрес домена с точкой
# host -t SRV _kerberos._udp.git.ru. _kerberos._udp.git.ru has SRV record 0 100 88 ad.git.ru.
- адрес _ldap._tcp.*адрес домена с точкой
# host -t SRV _ldap._tcp.git.ru. _ldap._tcp.git.ru has SRV record 0 100 389 ad.git.ru.
- адрес хоста.*адрес домена с точкой
# host -t A ad.git.ru. ad.git.ru has address 192.168.1.1
Если имена не находятся, проверяйте выключение службы named.
4. Проверка Kerberos:
kinit: KDC reply did not match expectations while getting initial credentials
# kinit administrator Password for administrator@GIT.RU: Warning: Your password will expire in 41 days on Вт 11 ноя 2014 08:58:30
Просмотр полученного билета:
# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@GIT.RU Valid starting Expires Service principal 30.09.2014 10:23:54 30.09.2014 20:23:54 krbtgt/GIT.RU@GIT.RU 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)
Клиент
1.Проверьте соединение с Samba 4:
[root@buh1 ~]# realm discover git.ru git.ru type: kerberos realm-name: git.ru domain-name: git.ru configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools login-formats: %U login-policy: allow-realm-logins [root@buh1 ~]#
2.Присоединение к домену.
[root@buh1 ~]# realm join git.ru Password for Administrator: [root@buh1 ~]#
3.Проверьте, способность получения информации о пользователе от Samba4.
[root@buh1 ~]# id SUNIL\\testuser uid=1570001104(testuser@my.domain) gid=1570000513(domain users@my.domain) groups=1570000513(domain users@my.domain) [root@buh1 ~]#
Источники: altlinux.org samba4.ru
Samba | |||
---|---|---|---|
Файловое хранилище | Samba как файловый сервер • Подключение общей папки • Samba как файловый сервер в домене | ||
Служба каталогов | |||
Сервер | Samba как служба каталогов (AD) • Изменение IP-адреса AD • Репликация сервера AD • Резервное копирование и восстановление • Управление пользователями • Групповые политики • Групповая политика паролей | ||
Клиент | Подключение клиента AD • Устранение неполадок участников домена Samba | ||
Бэкэнды идентификаторов winbind | idmap config tdb • idmap config ad • idmap config rid • idmap config autorid | ||
Прочее | Samba как сервер печати • Проверка конфигурационного файла • Утилиты командной строки • LMHOSTS • Уровень логов • Каталоги Samba • Настройка DNS | ||
Разное | Настройка Samba для привязки к определенным интерфейсам • Тестирование динамических обновлений DNS • Samba Перенастройка бэкенда BIND9 DLZ • Конфигурация DNS для Linux и Unix | ||
Информация | SSSD vs Winbind • Установка Samba |