Samba 3 файловый сервер в домене Active Directory

в 9:59, , рубрики: active directory, samba, системное администрирование, метки: ,

Samba 3 файловый сервер в домене Active Directory
Как обещал в прошлой статье, сегодня напишу как настроить файловый сервер на базе Samba 3 для пользователей домена Active Directory.
В чём отличие данной инструкции от, например, этой? Мы сегодня не будем использовать winbind. Наш kerberos клиент будет работать с kdc своего сайта AD и нам не потребуется заботится о его перенастройке при смене сайта.

Предполагается, что перед выполнением описанных действий Linux сервер введён в домен как было описано ранее.

Подготовка

Напомню, что получить Open версию PowerBroker Identity Services можно на сайте производителя, но ссылку Вам предоставят в обмен на Ваше имя, название компании и e-mail.
Существуют 32-х и 62-х пакеты в форматах rpm и deb. (А также пакеты для OS X, AIX, FreeBSD, SOlaris, HP-UX).
Программа поставляется в виде самораспаковывающегося архива с пакетом, соответствующим выбранной системе.
На Debian-based системах пакет устанавливает свои файлы в /opt/pbis/.
Для ввода компьютера в домен можно воспользоваться одной из двух утилит: /opt/pbis/bin/domainjoin-cli или /opt/pbis/bin/domainjoin-gui
Естественно перед вводом в домен имеет смысл настроить ntp клиент на синхронизацию времени с контроллером домена (либо с сервером времени, с которым синхронизируется ваш PDC эмулятор).

Для интеграции с samba в комплекте с PBIS имеется утилита

samba-interop-install

# /opt/pbis/bin/samba-interop-install --help
Usage: /opt/pbis/bin/samba-interop-install {options} [smbd path]

Installs interop libraries into directories used by Samba and copies the
machine password from the PowerBroker Identity Services' database to Samba's.

Options are:
    --help               Show this help message
    --install            Configure smbd to use interop libraries
    --uninstall          Deconfigure smbd's use of interop libraries
    --check-version      Ensure the version of smbd is supported
    --loglevel {level}   Set the logging to error (default), warning, info,
                         verbose, or debug

One of the options, --install, --uninstall, or --check-version must be passed.

The last argument is the path to smbd. If not specified, it will be
automatically detected.

Она позволит нам выполнить некоторые подготовительные операции. PBIS поддерживает интеграцию не со всеми версиями smaba. Поддерживаются версии: 3.0.25 и новее из линейки 3.0.X, 3.2.X, 3.4.X, 3.5.X, 3.6.X. Но без winbind будут работать только версии samba 3.2.X, 3.5.X, 3.6.X (согласно документации, я проверял на samba 3.6.X).
Для проверки поддерживает ли PBIS установленную версию Samba стоит выполнить:

# /opt/pbis/bin/samba-interop-install --check-version 
Found smbd version 3.6.6
Samba version supported

Как видно — установленная у меня версия samba поддерживается. Можно настроить связь с samba:

# /opt/pbis/bin/samba-interop-install --install --loglevel debug
[CheckSambaVersion() /builder/src-buildserver/Platform-7.1/src/linux/samba-interop/tools/samba-interop-install.c:500] Found smbd version 3.6.6
[InstallWbclient() /builder/src-buildserver/Platform-7.1/src/linux/samba-interop/tools/samba-interop-install.c:587] Link /usr/lib/x86_64-linux-gnu/libwbclient.so.0 already points to /opt/pbis/lib/libwbclient.so.0
[AddSambaLoadPath() /builder/src-buildserver/Platform-7.1/src/linux/samba-interop/tools/samba-interop-install.c:1100] Samba is already in the load order
[SetPassword() /builder/src-buildserver/Platform-7.1/src/linux/samba-interop/pstore-plugin/samba-pstore-plugin.c:459] Wrote machine password for domain CORP in secrets.tdb
Install successful

Здесь я специально запустил команду в режиме отладки, чтобы было видно чем занимается samba-interop-install: подменяет для samba библиотеку libwbclient.so.0 на свою, убеждается, что samba запускается при старте системы, сохраняет пароль учётной записи компьютера в хранилище samba.

Конфигурация Samba

Теперь необходимо сконфигурировать samba. В smb.conf должны быть строки:

[global]
  security = ADS
  workgroup = CONTOSO
  realm = CONTOSO.COM
  machine password timeout = 0

Причём важна строка «machine password timeout = 0» она не позволит samba сменить пароль учётной записи компьютера.
далее создаём общий рессурс:

[shared-folder]
        comment = Test shared folder
        path = /home/shared-folder
        valid users = CONTOSOUser1, CONTOSOUser2, @CONTOSOАдминистраторы^домена
        read only = No
Финал

Не забываем проверить настройки:

# testparm

Если всё в порядке перезапускаем samba.
Пробуем открыть только что настроенную общую папку с другого ПК.
И наслаждаемся результатом.

Автор: Slipeer

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js