通过


adutil 简介 - Active Directory实用工具

适用于: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"
}

默认情况下,useLdapsfalse。 配置此设置并使用 mssql-conf 创建 keytab(密钥表),请确保以用户身份运行 mssql。 运行以下命令以切换到 mssql 用户:

sudo su mssql

若要使用 mssql-conf 设置 keytab,请参阅 使用 mssql-conf 创建 SQL Server 服务 keytab 文件

安装 adutil

如果在安装过程中不接受最终用户许可协议 (EULA),则首次运行 adutil 命令时,必须在所有分发版本中使用 --accept-eula 标志运行它。

  1. 下载 Microsoft Red Hat 存储库配置文件。

    RHEL 10

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/10/prod.repo
    

    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
    
  2. 如果安装了旧版 adutil,请使用以下命令删除任何较旧的 adutil 包。

    sudo yum remove adutil-preview
    
  3. 运行以下命令以安装 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 --help
    
  • spn 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 查看。