Как обещал в прошлой статье, сегодня напишу как настроить файловый сервер на базе 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 имеется утилита
# /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