Samba файловый сервер + AD + SSSD без Winbind

Вопрос или проблема

В настоящее время у меня есть сервер CentOS8, интегрированный с AD, использующий SSSD и автоматическое сопоставление/генерацию SID->UID. Я хотел бы настроить доступ к файловым ресурсам, чтобы использовать группы AD, но испытываю трудности с настройкой. У кого-то есть пример конфигурации, который не использует winbind? В настоящее время у меня следующая конфигурация:

[global]
   workgroup = <имя домена netbios>

   security = ads
   realm = <домен fqdn>
   domain master = no
   local master = no
   preferred master = no

   client min protocol = SMB3

   vfs objects = acl_xattr
   map acl inherit = yes

   log level = 5

   idmap config * : backend =  sss
   idmap config * : range = 10001-2000100000

   kerberos method = secrets and keytab

Я не знаком с настройкой Samba, поэтому, возможно, некоторые из этих параметров не имеют смысла или лишние? Я получаю следующую ошибку при попытке запустить Samba:

[2021/02/08 19:26:53.511544,  3] ../../source3/auth/token_util.c:788(finalize_local_nt_token)
Не удалось проверить членство локальных пользователей (NT_STATUS_INVALID_PARAMETER_MIX)
[2021/02/08 19:26:53.511550,  0] ../../source3/auth/auth_util.c:1403(make_new_session_info_guest)
create_local_token не удалось: NT_STATUS_INVALID_PARAMETER_MIX
[2021/02/08 19:26:53.511603,  0] ../../source3/smbd/server.c:2052(main)
ERROR: Не удалось настроить информацию о госте.

Спасибо

У меня есть небольшая работоспособная настройка Samba без winbind, которая использует SSSD/Kerberos для аутентификации и контролирует доступ к ресурсам через группы Windows AD. Я изначально получил настройку отсюда: http://www.hexblot.com/blog/centos-7-active-directory-and-samba. Я не являюсь экспертом по Samba, так что не могу дать много объяснений, но надеюсь, это направит вас в нужную сторону. В настоящее время сервер работает на Debian 10.8, Samba 4.9.5 и SSSD 1.16.3.

Вот глобальная секция smb.conf и один общий ресурс:

[global]
workgroup = <имя домена netbios>
security = ads
encrypt passwords = yes
passdb backend = tdbsam
realm = <к realms kerberos (обычно FQDN домена большими буквами)>
map to guest = Bad User
kerberos method = secrets and keytab

# Не интересуют принтеры
load printers = no
cups options = raw

# Это предотвращает появление раздражающего сообщения в логах
printcap name = /dev/null

[backups]
comment = Моя общая папка
path = /srv/smbshares/backups
public = no
writable = yes
guest ok = no
valid users = @"[email protected]"
create mask = 660
directory mask = 770

Это все, что я могу сказать с уверенностью, но предложу немного предположений, так как у меня нет времени для экспериментов:
Одно из крупных отличий, которое я замечаю между моей конфигурацией и вашей, в том, что вы используете idmap, а я — нет. Поскольку ошибка упоминает о проблеме с местным членством групп, я подозреваю, что проблема здесь. Вы пробовали указать tdb как бэкенд по умолчанию (*) и затем sss как специфичный для домена (что-то вроде этого – смотрите https://www.mankier.com/8/idmap_sss):

idmap config <КРАТКОЕ ИМЯ AD-ДОМЕНА> : backend        = sss
idmap config <КРАТКОЕ ИМЯ AD-ДОМЕНА> : range          = 200000-2147483647
idmap config * : backend        = tdb
idmap config * : range          = 100000-199999

Ответ или решение

Конфигурация Samba-сервера с использованием SSSD и Active Directory без Winbind

Для настройки Samba-сервера, который будет интегрирован с Active Directory (AD), используя SSSD вместо Winbind, необходимо выполнить следующие шаги. Убедитесь, что вы следуете приведенным рекомендациям и адаптируете примеры к вашим конкретным условиям.

1. Установка необходимых пакетов

В первую очередь убедитесь, что установлены все необходимые пакеты:

yum install samba samba-client samba-common sssd sssd-tools oddjob-mkhomedir

2. Настройка SSSD

Убедитесь, что файл конфигурации SSSD корректен. Обычно он находится в /etc/sssd/sssd.conf. Пример конфигурации может выглядеть так:

[sssd]
services = nss, pam
config_file_version = 2
domains = DOMAIN_NAME

[domain/DOMAIN_NAME]
id_provider = ad
auth_provider = ad
access_provider = ad

override_homedir = /home/%u@%d
default_shell = /bin/bash

# Enable automatic home directory creation
use_pam = True

Замените DOMAIN_NAME на ваше доменное имя. Не забудьте установить правильные права доступа на файл:

chmod 600 /etc/sssd/sssd.conf

3. Настройка Samba

Следующий шаг — это настройка smb.conf, который обычно располагается в /etc/samba/smb.conf. Убедитесь, что ваш файл выглядел следующим образом:

[global]
   workgroup = DOMAIN_NETBIOS_NAME
   security = ads
   realm = DOMAIN_FQDN
   kerberos method = secrets and keytab
   map to guest = Bad User
   idmap config DOMAIN:backend = sss
   idmap config DOMAIN:range = 200000-2147483647
   idmap config *:backend = tdb
   idmap config *:range = 100000-199999
   client min protocol = SMB3
   vfs objects = acl_xattr
   map acl inherit = yes
   log level = 5

# Пример шары
[backups]
   comment = My shared folder
   path = /srv/smbshares/backups
   public = no
   writable = yes
   valid users = @"AD_GROUP_NAME"
   create mask = 0660
   directory mask = 0770

Обязательно замените DOMAIN_NETBIOS_NAME, DOMAIN_FQDN, и AD_GROUP_NAME на соответствующие значения вашего домена и группы.

4. Запуск и проверка служб

После того как вы закончили редактирование конфигураций, перезапустите службы SSSD и Samba:

systemctl restart sssd
systemctl restart smb
systemctl restart nmb

Проверьте статус служб для выявления возможных ошибок:

systemctl status sssd
systemctl status smb
systemctl status nmb

5. Тестирование

Для проверки, что все работает корректно, вы можете попытаться подключиться к вашему Samba-серверу с клиента Windows, используя учетные данные, соответствующие группе, заданной в valid users.

6. Устранение неполадок

Если вы столкнулись с ошибками, обратите внимание на логи Samba, которые по умолчанию располагаются в /var/log/samba/ и могут помочь диагностировать проблему. Ошибка, которую вы упомянули об NT_STATUS_INVALID_PARAMETER_MIX, может быть связана с неправильной конфигурацией групповых привилегий или проблемами со SID/UID маппингом.

Следуя этим шагам, вы сможете настроить Samba-сервер с интеграцией AD через SSSD без использования Winbind. Если будут дополнительные вопросы или возникнут трудности, не стесняйтесь задавать их.

Оцените материал
Добавить комментарий

Капча загружается...