在 适用于:SQL Server 的 Linux 上
adutil 工具是一个命令行接口(CLI)实用工具,用于配置和管理Linux 上的 SQL Server和容器的Windows Active Directory域。 它无需在 Windows 和 Linux 计算机之间切换来管理Active Directory。
注释
对 adutil 的支持仅限于SQL Server用例。 还可以使用其他实用工具(如 ktpass)启用Active Directory身份验证,如 Tutorial:将Active Directory身份验证用于 Linux 上的 SQL Server。
在开始之前,请确保将 adutil 下载到已加入Active Directory域的主机。
adutil 工具设计为一系列命令和子命令,其中包含可指定为进一步输入的额外标志。 每个顶级命令表示一个管理功能类别。 在该类别中,每个子命令均为操作。 本文介绍如何下载 adutil 并开始使用 adutil。
为安全套接字层 (SSL) LDAP 配置 adutil
你应使用 LDAP over SSL (LDAPS) 而不是轻型目录访问协议 (LDAP)。 有关 LDAP 的详细信息,请参阅轻型目录访问协议 (LDAP)。
可以在adutil.json配置文件中将useLdaps选项设置为true。 在 mssql 用户下运行 adutil 时,配置文件位于/var/opt/mssql/.adutil/adutil.json。 此 JSON 代码示例显示了如何配置设置:
{
"useLdaps": "true"
}
默认情况下,useLdaps 为 false。 配置此设置并使用 mssql-conf 创建 keytab(密钥表),请确保以用户身份运行 mssql。 运行以下命令以切换到 mssql 用户:
sudo su mssql
若要使用 mssql-conf 设置 keytab,请参阅 使用 mssql-conf 创建 SQL Server 服务 keytab 文件。
安装 adutil
如果在安装过程中不接受最终用户许可协议 (EULA),则首次运行 adutil 命令时,必须在所有分发版本中使用 --accept-eula 标志运行它。
下载 Microsoft Red Hat 存储库配置文件。
RHEL 10
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/10/prod.repoRHEL 9
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/9/prod.repoRHEL 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。
ACCEPT_EULA=Y接受 adutil 的 EULA。 EULA 位于/usr/share/adutil/.sudo ACCEPT_EULA=Y yum install -y adutil
使用 adutil 管理Windows Active Directory
若要使用 adutil,需用 kinit 命令和特权域帐户获取或续订 Kerberos TGT(票证授权票)。 使用的帐户必须具有在域上创建帐户和服务主体名称 (SPN) 的权限。
以下示例演示了可以使用 adutil 执行的一些典型活动。 要查看顶级命令列表,请键入 adutil --help。
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.
若要获取有关较低级别的命令的帮助,请使用以下示例:
spn命令:adutil spn --helpspn search命令:adutil spn search --help
示例
每个命令都已记录下来,以便你可以立即开始。 下面是一些典型活动,adutil用于配置或管理Linux 上的 SQL Server和容器的Active Directory身份验证:
在Active Directory中创建帐户:
adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM创建与帐户或服务关联的 SPN:
adutil spn addauto -n sqluser -s MSSQLSvc -H mymachine.contoso.com -p 1433使用adutil创建 keytab:
adutil keytab createauto -k /var/opt/mssql/secrets/mssql.keytab -p 1433 -H mymachine.contoso.com --password '<password>' -s MSSQLSvc注意
密码应遵循SQL Server默认 password 策略。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。 密码可最长为 128 个字符。 使用的密码应尽可能长,尽可能复杂。
有关详细信息,请参阅 adutil 参考手册页,通过 man adutil 查看。