Introducción a adutil: utilidad de Active Directory
Se aplica a: SQL Server - Linux
La herramienta adutil es una utilidad de la interfaz de línea de comandos (CLI) que sirve para configurar y administrar dominios de Active Directory de Windows para SQL Server en Linux y contenedores, sin tener que cambiar entre equipos Windows y Linux para administrar Active Directory.
Por lo tanto, la compatibilidad con adutil está limitada solo a casos de uso de SQL Server.
No es necesario usar adutil para habilitar la autenticación de Active Directory para SQL Server en Linux ni en contenedores. También puede usar utilidades como ktpass, como se explica en Tutorial: Uso de la autenticación de Active Directory con SQL Server en Linux.
La herramienta adutil está diseñada como una serie de comandos y subcomandos, con marcas adicionales que se especifican como una entrada adicional. Cada comando de nivel superior representa una categoría de funciones administrativas. Dentro de esa categoría, cada subcomando es una operación. En este artículo le mostramos cómo puede descargar y empezar a usar adutil.
Configuración de adutil para LDAP a través de la Capa de sockets seguros (SSL)
Debe usar un Protocolo ligero de acceso a directorio a través de SSL (LDAPS) en vez de un Protocolo ligero de acceso a directorio (LDAP). Si quiere obtener más información sobre LDAP, vea Protocolo ligero de acceso a directorio (LDAP).
Puede establecer la opción useLdaps
en true
en el archivo de configuración adutil.json
, que se encuentra en /var/opt/mssql/.adutil/adutil.json
cuando se ejecuta en el usuario mssql
. En este ejemplo de código JSON se muestra cómo configurar la opción:
{
"useLdaps": "true"
}
De forma predeterminada, la opción useLDAPS
está establecida en false
. Al configurar esta opción y usar mssql-conf para crear el archivo keytab (tabla de claves), debe ejecutar mssql-conf como el usuario mssql
, lo que puede hacer ejecutando el comando siguiente:
sudo su mssql
Para configurar el archivo keytab mediante mssql-conf, consulte Creación del archivo keytab del servicio SQL Server con mssql-conf.
Instalación de adutil
Si no acepta el los términos de licencia durante la instalación, cuando ejecute el comando adutil por primera vez, tendrá que ejecutarlo con la marca --accept-eula
(para todas las distribuciones).
Descargue el archivo de configuración del repositorio de Red Hat de Microsoft.
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
Si tiene instalada una versión anterior de adutil, quite los paquetes de adutil anteriores mediante el comando siguiente.
sudo yum remove adutil-preview
Ejecute los comandos siguientes para instalar adutil.
ACCEPT_EULA=Y
acepta el CLUF de adutil. El CLUF se coloca en la ruta de acceso/usr/share/adutil/
.sudo ACCEPT_EULA=Y yum install -y adutil
Uso de adutil para administrar Windows Active Directory
Asegúrese de descargar adutil en un host que ya esté unido a un dominio de Active Directory. También debe obtener o renovar el TGT de Kerberos (vale de concesión de vales) usando el comando kinit y una cuenta de dominio con privilegios. La cuenta que use debe tener permiso para crear cuentas y nombres de entidad de seguridad de servicio (SPN) en el dominio.
Estos son algunos ejemplos de acciones que puede realizar mediante adutil. Para ver una lista de todos los comandos de nivel superior, escriba adutil --help
. Este comando le muestra los comandos de nivel superior que puede usar para administrar Active Directory e interactuar con este servicio.
$ 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.
Para buscar ayuda con el siguiente nivel de comandos, puede ejecutar la siguiente opción de ayuda:
$ 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.
Ejemplos
Cada comando está documentado para que pueda empezar a trabajar de inmediato. Estas son algunas de las actividades típicas para las que se utiliza adutil al configurar o administrar la autenticación de Active Directory para SQL Server en Linux y contenedores:
Creación de una cuenta en Active Directory:
adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM
Creación de SPN asociados a una cuenta o servicio:
adutil spn addauto -n sqluser -s MSSQLSvc -H mymachine.contoso.com -p 1433
Creación de archivos keytab mediante adutil:
adutil keytab createauto -k /var/opt/mssql/secrets/mssql.keytab -p 1433 -H mymachine.contoso.com --password 'P@ssw0rd' -s MSSQLSvc
Puede consultar la página del manual de referencia de adutil usando el comando man adutil
.