Знакомство с adutil — служебной программой Active Directory
Область применения: SQL Server — Linux
Средство adutil — это программа интерфейса командной строки (CLI) для настройки доменов Windows Active Directory для SQL Server на Linux и контейнеров без переключения между компьютерами Windows и Linux для управления Active Directory.
Поддержка adutil будет ограничена только вариантами использования SQL Server.
Не нужно использовать adutil, чтобы включить проверку подлинности Active Directory для SQL Server на Linux или контейнеров. Вы также использовать такие служебные программы, как ktpass. Дополнительные сведения см. в статье Руководство. Использование проверки подлинности Active Directory с SQL Server на Linux.
Средство adutil разработано в виде ряда команд и вложенных команд с дополнительными флагами, которые указываются в качестве дополнительных входных данных. Каждая команда верхнего уровня представляет категорию административных функций. В этой категории каждая подкоманда является операцией. В этой статье показано, как скачать и приступить к работе с adutil.
Настройка adutil для LDAP по протоколу SSL
Вместо протокола LDAP следует использовать защищенный протокол LDAP (LDAPS). Дополнительные сведения о протоколе LDAP см. в разделе протокол LDAP.
Можно задать для параметра useLdaps
значение true
в файле конфигурации adutil.json
, который находится в папке /var/opt/mssql/.adutil/adutil.json
при запуске от имени пользователя mssql
. В этом образце кода JSON показано, как настроить параметр:
{
"useLdaps": "true"
}
По умолчанию для параметра useLDAPS
установлено значение false
. При настройке этого параметра и использовании mssql-conf для создания keytab (ключевой таблицы) убедитесь, что вы запускаете mssql-conf в качестве пользователяmssql
, который можно сделать, выполнив следующую команду:
sudo su mssql
Сведения о настройке keytab с помощью mssql-conf см. в статье "Создание файла ключей службы SQL Server с помощью mssql-conf".
Установка adutil
Если вы не принимаете EULA во время установки, при первом запуске команды adutil его необходимо запустить с --accept-eula
флагом (для всех дистрибутивов).
Скачайте файл конфигурации репозитория Microsoft Red Hat.
RHEL 9
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/9/prod.repo
RHEL 8
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
Если у вас установлена предыдущая предварительная версия adutil, удалите все старые пакеты adutil с помощью приведенной ниже команды.
sudo yum remove adutil-preview
Выполните приведенные ниже команды для установки adutil. Примите условия лицензионного соглашения для adutil, используя параметр
ACCEPT_EULA=Y
. Лицензионное соглашение находится по пути/usr/share/adutil/
.sudo ACCEPT_EULA=Y yum install -y adutil
Использование adutil для управления Windows Active Directory
Убедитесь, что вы скачайте adutil на узел, который уже присоединен к домену Active Directory. Также необходимо получить или обновить TGT Kerberos (билет предоставления билета), используя команду kinit и учетную запись привилегированного домена. Используемая учетная запись должна иметь разрешение на создание учетных записей и имен субъектов-служб в домене.
Ниже приведено несколько примеров действий, которые можно выполнить с помощью adutil. Чтобы просмотреть список команд верхнего уровня, введите adutil --help
. Эта команда показывает команды верхнего уровня, которые можно использовать для управления и взаимодействия с Active Directory.
$ adutil --help
adutil - A general AD utility
Usage:
adutil [account|delegation|group|keytab|machine|ou|spn|user|config]
Subcommands:
account Functions for generic account operations
delegation Functions for configuring delegation permissions
group Functions for group management
keytab Functions for keytab management
machine Functions for managing machine accounts
ou Functions for managing organizational units
spn Functions for service principal name (SPN) management
user Functions for user account management
config Functions for modifying adutil configuration
Flags:
--version Displays the program version string.
-h --help Displays help with available flag, subcommand, and positional value parameters.
-d --debug Display additional debugging information when making LDAP/Kerberos calls.
--accept-eula Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.
Чтобы получить справку по следующему уровню команд, можно выполнить следующий вариант справки:
$ adutil spn --help
spn - Functions for service principal name (SPN) management
Usage:
spn [add|addauto|delete|search|show]
Subcommands:
add Adds the provided SPNs to an account
addauto Automatically generate SPNs based on SPN component inputs and add them to an account
delete Deletes the provided SPNs from an account
search Search for an SPN by name or list all SPNs in the directory
show Get the list of SPNs assigned to an account
Flags:
--version Displays the program version string.
-h --help Displays help with available flag, subcommand, and positional value parameters.
-d --debug Display additional debugging information when making LDAP/Kerberos calls.
--accept-eula Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.
$ adutil spn search --help
search - Search for an SPN by name or list all SPNs in the directory
Usage:
search [name]
Positional Variables:
name OPTIONAL: Name of the SPN to search for in the directory. * can be used as a wildcard
Flags:
--version Displays the program version string.
-h --help Displays help with available flag, subcommand, and positional value parameters.
-n --name OPTIONAL: Name of the SPN to search for in the directory. * can be used as a wildcard
-f --filter OPTIONAL: Filter for the search (User,Machine,Group)
-o --ouname OPTIONAL: Distinguished name of OU in which SPNs should be searched. If omitted, the entire directory will be searched.
-d --debug Display additional debugging information when making LDAP/Kerberos calls.
--accept-eula Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.
Примеры
Каждая команда задокументирована, поэтому вы можете сразу приступить к работе. Ниже приведены некоторые типичные действия, используемые adutil для настройки или администрирования проверки подлинности Active Directory для SQL Server на Linux и контейнеров:
Создайте учетную запись в Active Directory:
adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM
Создание имен субъектов-служб, связанных с учетной записью или службой:
adutil spn addauto -n sqluser -s MSSQLSvc -H mymachine.contoso.com -p 1433
Создание файлов keytab с помощью adutil:
adutil keytab createauto -k /var/opt/mssql/secrets/mssql.keytab -p 1433 -H mymachine.contoso.com --password 'P@ssw0rd' -s MSSQLSvc
Вы можете ознакомиться со справочной страницей руководства по adutil, используя команду man adutil
.