(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Samba4 в роли AD + файловый сервер

Источник: habrahabr
AbyssMoon

В этой статье я рассмотрю по шагам подготовку к использованию Samba4 в роли контроллера домена вкупе с дополнительным файловым сервером так же на базе Samba4. Что в итоге мы получим? Два настроенных сервера с samba4, первый в роли domain controller, второй в роли member server с файлами пользователей. Функционирования этой связки я добивался около месяца, за сим, не поделится конечным рецептом просто не имею права…

    Немного предыстории: в компании используется файловый сервер на базе samba3.6 с LDAP Backend, который содержит список всех пользователей и групп с правами доступа. Права доступа на каталоги выставляются с помощью xattr_acl (Extended file attributes), в LDAP хранится список пользователей с соответствием группам доступа. Собственно требуется переехать с этой инфраструктуры на samba4…

1) Подготавливаем два сервера для samba4, я использую дистрибутив SUSE Linux Enterprise 11 Service Pack 3 (SLES11 SP3) как корпоративный стандарт, поэтому разворачивать все буду именно на его базе. Далее можно собрать самбу из исходников, это по желанию, я же использую готовую сборку от sernet, которую можно бесплатно получить просто зарегистрировавшись на портале - Portal Enterprise Samba

Sernet производит сборку самбы для нескольких дистрибутивов - Debian, Ubuntu, RHEL, CentOS, SLES, openSUSE.
Я использовал Samba4 версии 4.1.6

2) На первом сервере, который у нас выступит в роли DC, устанавливаем sernet-samba-ad. Если возникнут проблемы, можно заглянуть в официальную инструкцию - Samba AD DC HOWTO. Незабываем прописать имя нашего будущего домена в своем DNS сервере с указанием на наш новый сервер.

Далее выполняем создание домена с помощью samba-tools.

samba-tool domain provision --use-rfc2307 --interactive
Система запросит несколько параметров, которые необходимо указать, например такие как имя домена и т.д., а так же попросит задать пароль. Собственно только имя домена и нужно указать, все остальные вопросы можно оставить с ответами по умолчанию. Пароль администратора должен соответствовать стандартным политикам паролей в Windows, т.е. иметь как минимум одну маленькую и одну большую буквы, а так же цифры, плюс минимум 8 символов.

Копируем вновь сконфигуренный самбой конфиг Kerberos в место по умолчанию.

cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Для проверки верной работы Kerberos можно установить krb5-client и проверить работу аутентификации.

kinit administrator@EXAMPLE.COM klist
klist должен показать информацию по тикетам, если все ок - идем дальше.

Нужно подправить файл /etc/default/sernet-samba
Правим строчку SAMBA_START_MODE= на следующую.

SAMBA_START_MODE="ad"
После этого можно запускать саму самбу

/etc/init.d/sernet-samba-ad start
Если запуск прошел удачно можно считать, что наш контроллер домена уже развернут.

Редактируем файл /etc/nsswitch.conf для того, что бы система увидела пользователей домена и группы, а так же могла нормально выставлять права на файлы. Приводим эти две строки к следующему виду:

passwd: compat winbind group: compat winbind
Перезапустим систему и проверим, работает ли… с помощью getent passwd и getent group. Мы должны увидеть группы и пользователей из нашего домена. Более подробно про этот шаг можно почитать официальную инструкцию - Samba4/Winbind

Осталось ввести в домен любую машину с Windows для администрирования, думаю с этим проблем не возникнет.

3) На машине с Windows, которую мы ввели в домен устанавливаем admin pack. Используем оснастку по управлению пользователями в AD.

Каждой группе и пользователю нужно присвоить unix uid\gid для будущей нормальной работы xattr_acl на нашем втором сервере.

4) Пора начать готовить наш второй сервер, который выступит в роли member server и будет являться файловым сервером в домене.

Устанавливаем sssd, в стандартном репозитории SLES11 имеется версия 1.9.4, она нам вполне подойдет. Так же устанавливаем sssd-tools. sssd нужен для получения пользователей с unix атрибутами с нашего домена. Более подробно про настройку можно почитать в официальной инструкции - Local user management and authentication/sssd
Мы будем настраивать связь с AD через Kerberos.

На первом сервере (DC) нужно экспортировать keytab из Kerberos.

samba-tool domain exportkeytab /etc/krb5.sssd.keytab --principal=имя_вашего_DC$ chown root:root /etc/krb5.sssd.keytab chmod 600 /etc/krb5.sssd.keytab
Для безопасности обрубим лишние права. Копируем keytab файл на наш второй сервер по этому же пути.

Редактируем sssd.conf

[sssd] services = nss, pam config_file_version = 2 domains = default [nss] [pam] [domain/default] ad_hostname = smbad.samba4.servdesk.ru ad_server = smbad.samba4.servdesk.ru ad_domain = samba4.servdesk.ru ldap_schema = rfc2307bis id_provider = ldap access_provider = simple # on large directories, you may want to disable enumeration for performance reasons enumerate = true auth_provider = krb5 chpass_provider = krb5 ldap_sasl_mech = gssapi ldap_sasl_authid = smbad$@SAMBA4.SERVDESK.RU krb5_realm = SAMBA4.SERVDESK.RU krb5_server = smbad.samba4.servdesk.ru krb5_kpasswd = smbad.samba4.servdesk.ru ldap_krb5_keytab = /etc/krb5.sssd.keytab ldap_krb5_init_creds = true ldap_referrals = false ldap_uri = ldap://smbad.samba4.servdesk.ru ldap_search_base = dc=samba4,dc=servdesk,dc=ru dyndns_update=false ldap_id_mapping=false ldap_user_object_class = user ldap_user_name = samAccountName ldap_user_uid_number = uidNumber ldap_user_gid_number = gidNumber ldap_user_home_directory = unixHomeDirectory ldap_user_shell = loginShell ldap_group_object_class = group ldap_group_name = cn ldap_group_member = member
Не забудьте исправить имя вашего DC и вашего домена на свои. Ставим sssd в автозапуск, перезагружаем сервер.
Далее можно сбросить кеш и проверяем наши группы с пользователями.

sss_cache -UG getent group ... Schema Admins:*:10110:Administrator Domain Users:*:10103: DnsAdmins:*:10117: servdesk:*:10102:test
В списке должны быть наши группы и пользователями с uid\gid, которые мы задавали в AD остнастке в Windows.

5) Переходим к настройки samba4 на втором сервере, устанавливаем sernet-samba-nmbd, sernet-samba-smbd, sernet-samba-winbind и все зависимости для них. Более подробно про настройку можно почитать в официальной инструкции - Samba/Domain Member

Создаем smb.conf, мой файл выглядит вот так:

[global] workgroup = SAMBA4 security = ADS realm = SAMBA4.SERVDESK.RU # map untrusted to domain = Yes idmap config *:backend = tdb idmap config *:range = 70001-80000 # idmap config SAMBA4:default = yes idmap config SAMBA4:backend = ad idmap config SAMBA4:schema_mode = rfc2307 idmap config SAMBA4:range = 500-40000 # idmap_ldb:use rfc2307 = yes winbind nss info = rfc2307 winbind trusted domains only = no winbind use default domain = yes # winbind enum users = yes # winbind enum groups = yes #create mask = 0777 #directory mask = 0777 vfs objects = acl_xattr btrfs map acl inherit = Yes store dos attributes = Yes [data1] path = /data1/ read only = no
Не забываем подправить конфиг под себя, нужно сменить имя домена на ваш.

Правим наш файл hosts в нем необходимо прямо указать имя нашего member server, иначе зоны DNS не будут автоматически обновляться в AD.

127.0.0.1 localhost 127.0.0.1 samba3.samba4.servdesk.ru samba3
Запустим процедуру входа в наш домен.

net ads join -U administrator
Потребуется ввести пароль администратора.

Собственно после этого наш member server уже находится в домене.
Можно попробовать с Windows машины подключится на него под своим логином паролем и создать какую-нибудь папку, для проверки прав…
Создали папку 123, проверяем права.

getfacl /data1/123 # file: data1/123 # owner: test # group: Domain\040Users user::rwx user:test:rwx group::r-x group:servdesk:rwx group:Domain\040Users:r-x mask::rwx other::r-x default:user::rwx default:user:test:rwx default:group::r-x default:group:servdesk:rwx default:group:Domain\040Users:r-x default:mask::rwx default:other::r-x
Как видим, все права верно выставляются.

Далее можно начинать перенос пользователей в наш новый домен, а так же выставлять права на папки в соответствии с вашими пожеланиями.
Так же можно использовать glusterfs вкупе с samba4 для создания отказоустойчивого файлового сервера, но это уже совсем другая история…

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 21.03.2014 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
erwin Data Modeler Workgroup Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
Oracle Database Standard Edition 2 Processor License
Quest Software. TOAD for Oracle Edition
Stimulsoft Reports.Ultimate Single License Includes one year subscription, source code
Microsoft 365 Apps for business (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Реестр Windows. Секреты работы на компьютере
Один день системного администратора
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
Каждый день новые драйверы для вашего компьютера!
Компьютерная библиотека: книги, статьи, полезные ссылки
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100