Einführung in adutil – Active Directory-Hilfsprogramm

Gilt für: SQL Server – Linux

Das Tool adutil ist ein Hilfsprogramm für die Befehlszeilenschnittstelle (CLI) zum Konfigurieren und Verwalten von Windows Active Directory-Domänen für SQL Server für Linux und Container, ohne zwischen Windows- und Linux-Computern zu wechseln, um Active Directory zu verwalten.

Die Unterstützung für adutil ist auf SQL Server-Anwendungsfälle beschränkt.

Sie müssen adutil nicht verwenden, um die Active Directory-Authentifizierung für SQL Server für Linux oder Container zu aktivieren. Sie können auch Hilfsprogramme wie ktpass verwenden, so wie im Tutorial: Verwenden von Active Directory-Authentifizierung mit SQL Server für Linux beschrieben.

Das adutil-Tool umfasst eine Reihe von Befehlen und Unterbefehlen mit zusätzlichen Flags, die Sie als weitere Eingabe angegeben. Jeder Befehl der obersten Ebene stellt eine Kategorie von Verwaltungsfunktionen dar. Die Unterbefehle innerhalb dieser Kategorien stellen je einen Vorgang dar. In diesem Artikel erfahren Sie, wie Sie adutil herunterladen und Ihre ersten Schritte damit ausführen.

Konfigurieren von „adutil“ für LDAP über Secure Sockets Layer (SSL)

Sie sollten das Lightweight Directory Access Protocol über SSL (LDAPS) anstelle des Lightweight Directory Access Protocol (LDAP) verwenden. Weitere Informationen zu LDAP finden Sie unter Lightweight Directory Access Protocol (LDAP).

Sie können die useLdaps-Option für true in der Konfigurationsdatei adutil.json festlegen, die sich unter /var/opt/mssql/.adutil/adutil.json befindet, wenn sie unter dem Benutzer mssql ausgeführt wird. Dieses JSON-Codebeispiel zeigt, wie die Einstellung konfiguriert wird:

{
    "useLdaps": "true"
}

Standardmäßig ist die Einstellung useLDAPS auf den Wert false festgelegt. Wenn Sie diese Einstellung konfigurieren und mssql-conf zum Erstellen der Schlüsseltabelle verwenden, führen Sie unbedingt mssql-conf als Benutzer mssql aus, wofür Sie folgenden Befehl ausführen können:

sudo su mssql

Informationen zum Einrichten der Schlüsseltabellen mithilfe von mssql-conf finden Sie unter Erstellen der Schlüsseltabellendatei für SQL Server-Dienst mithilfe von mssql-conf.

Installieren von adutil

Wenn Sie bei der Installation den Endbenutzer-Lizenzvertrag nicht akzeptieren, muss der adutil-Befehl bei der erstmaligen Ausführung mit dem Flag --accept-eula ausgeführt werden.

  1. Laden Sie die Konfigurationsdatei für das Microsoft Red Hat-Repository herunter.

    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. Wenn Sie eine frühere Vorschauversion von adutil installiert haben, entfernen Sie alle älteren adutil-Pakete mithilfe des folgenden Befehls.

    sudo yum remove adutil-preview
    
  3. Führen Sie die folgenden Befehle aus, um adutil zu installieren. Mit ACCEPT_EULA=Y wird der Endbenutzer-Lizenzvertrag für adutil akzeptiert. Den Endbenutzer-Lizenzvertrag finden Sie unter dem Pfad /usr/share/adutil/.

    sudo ACCEPT_EULA=Y yum install -y adutil
    

Verwenden von „adutil“ zum Verwalten von Windows Active Directory

Stellen Sie sicher, dass Sie adutil auf einen Host herunterladen, der bereits in eine Active Directory-Domäne eingebunden ist. Außerdem müssen Sie das Kerberos-TGT (Ticket-Granting Ticket) mit dem kinit-Befehl und einem privilegierten Domänenkonto abrufen oder erneuern. Das Konto, das Sie verwenden, muss über die Berechtigung zum Erstellen von Konten und Dienstprinzipalnamen (Service Principal Names, SPNs) in der Domäne verfügen.

Nachfolgend finden Sie Beispielaktionen, die Sie mit adutil ausführen können. Zum Anzeigen einer Liste mit Befehlen oberster Ebene geben Sie adutil --help ein. Dieser Befehl zeigt die Befehle der obersten Ebene an, die Sie zum Verwalten und Interagieren mit Active Directory verwenden können.

$ 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.

Wenn Sie Hilfe bei der nächsten Befehlsebene benötigen, können Sie die folgende Hilfeoption ausführen:

$ 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.

Beispiele

Damit Sie sofort loslegen können, ist jeder Befehl dokumentiert. Nachfolgend sind einige typische Aktivitäten aufgeführt, für die adutil beim Konfigurieren oder Verwalten der Active Directory-Authentifizierung für SQL Server für Linux und Container verwendet wird:

  • Erstellen eines Kontos in Active Directory:

    adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM
    
  • Erstellen von Dienstprinzipalnamen, die einem Konto oder Dienst zugeordnet sind:

    adutil spn addauto -n sqluser -s MSSQLSvc -H mymachine.contoso.com -p 1433
    
  • Erstellen von Schlüsseltabellen mit adutil:

    adutil keytab createauto -k /var/opt/mssql/secrets/mssql.keytab -p 1433 -H mymachine.contoso.com --password 'P@ssw0rd' -s MSSQLSvc
    

Mithilfe des Befehls man adutil können Sie auf die Referenzhandbuchseite von adutil verweisen.