LiteNet.Ru - Актуально о ПК и ПО. 2006-2019.
СТАТЬИ | НОВОСТИ | ПРОГРАММЫ | ОБРАТНАЯ СВЯЗЬ | КАРТА САЙТА
Сейчас на сайте: 6 пользователей онлайн
Обновления
Материал Установил CentOS 7 как легко и просто настроить ssh доступ? [24.03.24]
Комментарии Спасибо... [17.02.24]
Материал Форма ввода php [08.05.23]
Материал Windows 11 LTSC выйдет во второй половине 2024 года [08.05.23]
Материал Microsoft прекратит выпуск обновлений для Windows 10 [29.04.23]
Комментарии Огромный респект и... [04.10.22]
Комментарии не помогло... [10.07.22]
Комментарии не получается войт... [02.11.21]
Комментарии Да нет в редакторе... [05.10.21]
Комментарии Toshiba Tecra s11 ... [21.07.21]
Комментарии Все получилось, сп... [21.07.21]
Комментарии не сработало... [04.06.21]
Комментарии Доброго времени! У... [27.03.21]
Комментарии У меня этот метод ... [19.03.21]
Комментарии всё испробовал,не ... [17.03.21]
Материал Представлена настоящая зарядка по воздуху Xiaomi Mi Air Charge [31.01.21]
Материал Отныне для запуска WhatsApp на ПК и в браузере требуется биометрия [31.01.21]
Материал Google Chrome 88.0.4324.104 [31.01.21]
Материал Avast Free Antivirus 20.10.5824 [31.01.21]
Материал Яндекс.Браузер 20.12.3.138 [31.01.21]
Материал Maxthon 6.1.1.1000 [31.01.21]
Материал MKVToolnix 53.0.0 [31.01.21]
Материал ProduKey 1.95 [31.01.21]
Комментарии Самый лучший брауз... [17.11.20]

RSS

Последние добавленные статьи

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

Логотип LinuxВ этой статье я рассмотрю по шагам подготовку к использованию 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.

Active Directory

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

Servdesk

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 для создания отказоустойчивого файлового сервера, но это уже совсем другая история.

Что еще почитать?


Оставленные комментарии:


Всего 0 комментариев


Введите Ваше имя:


Не используйте HTML и ВВ-коды - не работает. Пользуйтесь смайликами :)
Very HappySmileLaughingCoolWinkSurprised
RazzSleepSadShockedEvil or Very MadRolling Eyes

В этом поле Вы можете ввести текст комментария:


До конца всего осталось символов

Код на БОТливость: Код на БОТливость:
Введите код: