Skip to content

Commit 0c12ab9

Browse files
authored
Add new packages and refresh adutil article (#37057)
1 parent b5ab6a6 commit 0c12ab9

1 file changed

Lines changed: 63 additions & 67 deletions

File tree

docs/linux/sql-server-linux-ad-auth-adutil-introduction.md

Lines changed: 63 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
---
2-
title: Introduction to adutil - Active Directory Utility
2+
title: Introduction to adutil - Active Directory utility
33
description: Overview of adutil, a utility for configuring and managing Active Directory domains for SQL Server on Linux and containers
4-
author: amitkh-msft
5-
ms.author: amitkh
6-
ms.reviewer: vanto, randolphwest
7-
ms.date: 07/03/2025
4+
author: rwestMSFT
5+
ms.author: randolphwest
6+
ms.reviewer: amitkh
7+
ms.date: 04/13/2026
88
ms.service: sql
99
ms.subservice: linux
1010
ms.topic: concept-article
@@ -17,42 +17,49 @@ monikerRange: ">=sql-server-linux-2017 || >=sql-server-2017 || =sqlallproducts-a
1717

1818
[!INCLUDE [SQL Server - Linux](../includes/applies-to-version/sql-linux.md)]
1919

20-
The **adutil** tool is a command-line interface (CLI) utility for configuring and managing Windows Active Directory domains for SQL Server on Linux and containers, without switching between Windows and Linux machines to manage Active Directory. Make sure that you download **adutil** to a host that is already joined to an Active Directory domain.
20+
The **adutil** tool is a command-line interface (CLI) utility for configuring and managing Windows Active Directory domains for SQL Server on Linux and containers. It eliminates the need to switch between Windows and Linux machines to manage Active Directory.
2121

22-
Support for **adutil** is limited for SQL Server use cases only.
22+
> [!NOTE]
23+
> Support for **adutil** is limited to SQL Server use cases only. You can also use other utilities like **ktpass** to enable Active Directory authentication, as explained in [Tutorial: Use Active Directory authentication with SQL Server on Linux](sql-server-linux-active-directory-authentication.md).
2324
24-
You don't need to use **adutil** to enable Active Directory authentication for SQL Server on Linux or containers. You can also use utilities like **ktpass**, as explained in [Tutorial: Use Active Directory authentication with SQL Server on Linux](sql-server-linux-active-directory-authentication.md).
25+
Before you get started, make sure you download **adutil** to a host that is already joined to an Active Directory domain.
2526

26-
The **adutil** tool is designed as a series of commands and subcommands, with extra flags that you specify as further input. Each top level command represents a category of administrative functions. Within that category, each subcommand is an operation. This article shows you how you can download and get started with **adutil**.
27+
The **adutil** tool is designed as a series of commands and subcommands, with extra flags that you specify as further input. Each top-level command represents a category of administrative functions. Within that category, each subcommand is an operation. This article shows you how to download and get started with **adutil**.
2728

2829
## Configure adutil for LDAP over Secure Sockets Layer (SSL)
2930

30-
You should use Lightweight Directory Access Protocol over SSL (LDAPS) instead of Lightweight Directory Access Protocol (LDAP). If you want to learn more about LDAP, see [Lightweight Directory Access Protocol (LDAP)](sql-server-linux-ad-auth-understanding.md#ldap).
31+
You should use Lightweight Directory Access Protocol over SSL (LDAPS) instead of Lightweight Directory Access Protocol (LDAP). For more information about LDAP, see [Lightweight Directory Access Protocol (LDAP)](sql-server-linux-ad-auth-understanding.md#ldap).
3132

32-
You can set the `useLdaps` option to `true` in the `adutil.json` configuration file, which is located at: `/var/opt/mssql/.adutil/adutil.json` when run under the `mssql` user. This JSON code sample shows how to configure the setting:
33+
You can set the `useLdaps` option to `true` in the `adutil.json` configuration file. When you run **adutil** under the `mssql` user, the configuration file is located at `/var/opt/mssql/.adutil/adutil.json`. This JSON code sample shows how to configure the setting:
3334

3435
```json
3536
{
3637
"useLdaps": "true"
3738
}
3839
```
3940

40-
By default, the `useLDAPS` setting is set to `false`. When configuring this setting and using **mssql-conf** to create the keytab (key table), make sure you run **mssql-conf** as the user `mssql`, which you can do by running the following command:
41+
By default, `useLdaps` is `false`. When you configure this setting and use **mssql-conf** to create the keytab (key table), make sure you run **mssql-conf** as the `mssql` user. Run the following command to switch to the `mssql` user:
4142

4243
```bash
4344
sudo su mssql
4445
```
4546

46-
To set up the keytab using **mssql-conf**, see [Create the SQL Server service keytab file using mssql-conf](./sql-server-linux-ad-auth-adutil-tutorial.md#create-the-sql-server-service-keytab-file-using-mssql-conf).
47+
To set up the keytab using **mssql-conf**, see [Create the SQL Server service keytab file using mssql-conf](sql-server-linux-ad-auth-adutil-tutorial.md#create-the-sql-server-service-keytab-file-using-mssql-conf).
4748

4849
## Install adutil
4950

50-
If you don't accept the end user license agreement (EULA) during the time of install, when you run the **adutil** command for the first time, you must run it with the `--accept-eula` flag (for all distributions).
51+
If you don't accept the end user license agreement (EULA) during installation, when you run the **adutil** command for the first time, you must run it with the `--accept-eula` flag (for all distributions).
5152

5253
# [Red Hat Enterprise Linux (RHEL)](#tab/rhel)
5354

5455
1. Download the Microsoft Red Hat repository configuration file.
5556

57+
**RHEL 10**
58+
59+
```bash
60+
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/10/prod.repo
61+
```
62+
5663
**RHEL 9**
5764

5865
```bash
@@ -65,26 +72,33 @@ If you don't accept the end user license agreement (EULA) during the time of ins
6572
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
6673
```
6774

68-
1. If you had a previous preview version of **adutil** installed, remove any older **adutil** packages using the following command.
75+
1. If you installed a previous preview version of **adutil**, remove any older **adutil** packages using the following command.
6976

7077
```bash
7178
sudo yum remove adutil-preview
7279
```
7380

74-
1. Run the following commands to install **adutil**. `ACCEPT_EULA=Y` accepts the EULA for **adutil**. The EULA is placed at the path `/usr/share/adutil/`.
81+
1. Run the following command to install **adutil**. `ACCEPT_EULA=Y` accepts the EULA for **adutil**. The EULA is located at `/usr/share/adutil/`.
7582

7683
```bash
7784
sudo ACCEPT_EULA=Y yum install -y adutil
7885
```
7986

8087
# [Ubuntu](#tab/ubuntu)
8188

82-
1. Import the public repository GPG keys and then register the Microsoft Ubuntu repository.
89+
1. Import the public repository GNU Privacy Guard (GPG) keys and then register the Microsoft Ubuntu repository.
90+
91+
**Ubuntu 24.04**
92+
93+
```bash
94+
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
95+
curl https://packages.microsoft.com/config/ubuntu/24.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
96+
```
8397

8498
**Ubuntu 22.04**
8599

86100
```bash
87-
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
101+
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
88102
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
89103
```
90104

@@ -95,27 +109,27 @@ If you don't accept the end user license agreement (EULA) during the time of ins
95109
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
96110
```
97111

98-
**Ubuntu 18.04**
112+
> [!TIP]
113+
> If you experience a key-related issue on Ubuntu 22.04 and later versions, run the following command instead:
114+
>
115+
> ```bash
116+
> curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
117+
> ```
99118
100-
```bash
101-
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
102-
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
103-
```
104-
105-
1. If you had a previous preview version of **adutil** installed, remove any older **adutil** packages using the following command.
119+
1. If you installed a previous preview version of **adutil**, remove any older **adutil** packages using the following command.
106120
107121
```bash
108122
sudo apt-get remove adutil-preview
109123
```
110124
111-
1. Run the following command to install **adutil**. `ACCEPT_EULA=Y` accepts the EULA for **adutil**. The EULA is placed at the path `/usr/share/adutil/`.
125+
1. Run the following command to install **adutil**. `ACCEPT_EULA=Y` accepts the EULA for **adutil**. The EULA is located at `/usr/share/adutil/`.
112126

113127
```bash
114128
sudo apt-get update
115129
sudo ACCEPT_EULA=Y apt-get install -y adutil
116130
```
117131

118-
# [SLES](#tab/sles)
132+
# [SUSE Linux Enterprise Server](#tab/sles)
119133

120134
1. Add the Microsoft SQL Server repository to Zypper.
121135

@@ -133,13 +147,13 @@ If you don't accept the end user license agreement (EULA) during the time of ins
133147
sudo zypper addrepo -fc https://packages.microsoft.com/config/sles/12/prod.repo
134148
```
135149

136-
1. If you had a previous preview version of **adutil** installed, remove any older **adutil** packages using the following command.
150+
1. If you installed a previous preview version of **adutil**, remove any older **adutil** packages using the following command.
137151

138152
```bash
139153
sudo zypper remove adutil-preview
140154
```
141155

142-
1. Run the following command to install **adutil**. `ACCEPT_EULA=Y` accepts the EULA for **adutil**. The EULA is placed at the path `/usr/share/adutil/`.
156+
1. Run the following command to install **adutil**. `ACCEPT_EULA=Y` accepts the EULA for **adutil**. The EULA is located at `/usr/share/adutil/`.
143157

144158
```bash
145159
sudo zypper refresh
@@ -150,12 +164,17 @@ If you don't accept the end user license agreement (EULA) during the time of ins
150164

151165
## Use adutil to manage Windows Active Directory
152166

153-
Make sure that you download **adutil** to a host that is already joined to an Active Directory domain. You also need to obtain or renew the Kerberos TGT (ticket-granting ticket), using the **kinit** command and a privileged domain account. The account you use must have permission to create accounts and Service Principal Names (SPNs) on the domain.
167+
To use **adutil**, you need to get or renew the Kerberos TGT (ticket-granting ticket) using the **kinit** command and a privileged domain account. The account you use must have permission to create accounts and Service Principal Names (SPNs) on the domain.
154168

155-
Here are some examples of actions that you can perform using **adutil**. To see a list of top-level commands, type `adutil --help`. This command shows you the top-level commands that you can use to manage and interact with Active Directory.
169+
The following examples show some typical activities you can perform using **adutil**. To see a list of top-level commands, type `adutil --help`.
156170

157171
```bash
158-
$ adutil --help
172+
adutil --help
173+
```
174+
175+
You see the following output:
176+
177+
```output
159178
adutil - A general AD utility
160179
Usage:
161180
adutil [account|delegation|group|keytab|machine|ou|spn|user|config]
@@ -176,42 +195,19 @@ adutil - A general AD utility
176195
--accept-eula Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.
177196
```
178197

179-
To seek help with the next level of commands, you can run the following help option:
198+
To get help with lower-level commands, use the following examples:
180199

181-
```bash
182-
$ adutil spn --help
183-
spn - Functions for service principal name (SPN) management
184-
Usage:
185-
spn [add|addauto|delete|search|show]
186-
Subcommands:
187-
add Adds the provided SPNs to an account
188-
addauto Automatically generate SPNs based on SPN component inputs and add them to an account
189-
delete Deletes the provided SPNs from an account
190-
search Search for an SPN by name or list all SPNs in the directory
191-
show Get the list of SPNs assigned to an account
192-
Flags:
193-
--version Displays the program version string.
194-
-h --help Displays help with available flag, subcommand, and positional value parameters.
195-
-d --debug Display additional debugging information when making LDAP/Kerberos calls.
196-
--accept-eula Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.
197-
```
200+
- `spn` command:
198201

199-
```bash
200-
$ adutil spn search --help
201-
search - Search for an SPN by name or list all SPNs in the directory
202-
Usage:
203-
search [name]
204-
Positional Variables:
205-
name OPTIONAL: Name of the SPN to search for in the directory. * can be used as a wildcard
206-
Flags:
207-
--version Displays the program version string.
208-
-h --help Displays help with available flag, subcommand, and positional value parameters.
209-
-n --name OPTIONAL: Name of the SPN to search for in the directory. * can be used as a wildcard
210-
-f --filter OPTIONAL: Filter for the search (User,Machine,Group)
211-
-o --ouname OPTIONAL: Distinguished name of OU in which SPNs should be searched. If omitted, the entire directory will be searched.
212-
-d --debug Display additional debugging information when making LDAP/Kerberos calls.
213-
--accept-eula Accepts the current EULA for adutil. This has no effect if the EULA has already been accepted.
214-
```
202+
```bash
203+
adutil spn --help
204+
```
205+
206+
- `spn search` command:
207+
208+
```bash
209+
adutil spn search --help
210+
```
215211

216212
## Samples
217213

@@ -238,7 +234,7 @@ Each command is documented so you can get started right away. Here are some of t
238234
> [!CAUTION]
239235
> [!INCLUDE [password-complexity](includes/password-complexity.md)]
240236
241-
You can refer to the reference manual page of **adutil** using the command `man adutil`.
237+
For more information, see the **adutil** reference manual page by using `man adutil`.
242238

243239
## Related content
244240

0 commit comments

Comments
 (0)