Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describen las cuentas de servicio necesarias y los permisos del sistema de archivos para SQL Server en Linux. Para obtener más información sobre SQL Server en permisos de Windows, consulte Configurar cuentas de servicio y permisos de Windows.
Entidades de Windows integradas
Aunque SQL Server en Linux se ejecuta en la cuenta de sistema operativo de mssql, los siguientes principales de Windows existen en la capa de SQL Server por motivos de compatibilidad. No quite ni denieguelos a menos que comprenda completamente los riesgos.
| Principal | Rol predeterminado de SQL Server | Detalles |
|---|---|---|
BUILTIN\Administrators |
sysadmin | Se corresponde con los administradores de nivel raíz del host. Algunos objetos del sistema se ejecutan en el contexto de esta cuenta. |
NT AUTHORITY\SYSTEM |
public | Identificador de servicio (SID) reservado para la cuenta de Windows SYSTEM . Se sigue creando para que los scripts multiplataforma que lo esperan se ejecuten correctamente. |
NT AUTHORITY\NETWORK SERVICE |
Ninguno (solo compatibilidad) | Históricamente, la cuenta de inicio predeterminada para varios servicios de SQL Server en Windows. Presente solo para la compatibilidad con versiones anteriores. No lo usa el propio motor de base de datos de SQL Server en Linux. |
Propiedad de archivos y directorios
Todos los archivos de la carpeta /var/opt/mssql deben ser propiedad del usuario y mssql del mssql grupo (mssql:mssql), con acceso de lectura y escritura para ambos. Si cambia el umask predeterminado (0022) o usa puntos de montaje alternativos, debe volver a aplicar estos permisos manualmente.
Los permisos predeterminados para la mssql carpeta son los siguientes:
drwxr-xr-x 3 root root 4096 May 14 17:17 ./
drwxr-xr-x 13 root root 4096 Jan 7 2025 ../
drwxrwx--- 7 mssql mssql 4096 May 14 17:17 mssql/
Los permisos predeterminados para el contenido de la mssql carpeta son los siguientes:
drwxrwx--- 7 mssql mssql 4096 May 14 17:17 ./
drwxr-xr-x 3 root root 4096 May 14 17:17 ../
drwxr-xr-x 5 mssql mssql 4096 May 14 17:17 .system/
drwxr-xr-x 2 mssql mssql 4096 May 14 17:17 data/
drwxr-xr-x 3 mssql mssql 4096 Sep 16 22:57 log/
-rw-r--r-- 1 root root 85 May 14 17:17 mssql.conf
drwxrwxr-x 2 mssql mssql 4096 May 14 17:17 secrets/
drwxr-xr-x 2 mssql mssql 4096 May 14 17:17 security/
Para obtener más información sobre cómo cambiar la ubicación de los datos de usuario, la ubicación del archivo de registro o las ubicaciones de registro y la base de datos del sistema, consulte Configuración de SQL Server en Linux con la herramienta mssql-conf.
Directorios típicos de SQL Server
| Purpose | Ruta de acceso predeterminada | Detalles |
|---|---|---|
| Bases de datos del sistema y del usuario | /var/opt/mssql/data |
Incluye master, model, tempdby todas las bases de datos nuevas a menos que mssql-conf las redirija. Para obtener más información, consulte Cambio de la ubicación predeterminada para las bases de datos del sistema. |
| Registros de transacciones (si están separados) |
/var/opt/mssql/data, o la ruta establecida mediante mssql-conf set filelocation.defaultlogdir. |
Mantén la misma propiedad si mueves los registros de transacciones. Para obtener más información, consulte Cambio de la ubicación predeterminada de los datos o del directorio de registro. |
| Backups | /var/opt/mssql/data |
Crea y configura con chown antes de la primera copia de seguridad, o al asignar un volumen o directorio. Para obtener más información, consulte Cambio de la ubicación predeterminada del directorio de copia de seguridad. |
| Registros de errores y registros de eventos extendidos (XE) | /var/opt/mssql/log |
También hospeda la sesión XE predeterminada de mantenimiento del sistema. Para obtener más información, consulte Cambio de la ubicación predeterminada del directorio del archivo de registro de errores. |
| Volcados de memoria | /var/opt/mssql/log |
Se utiliza para volcados de memoria y volcados DBCC CHECK*. Para obtener más información, consulta Cambiar la ubicación predeterminada del directorio de volcados. |
| Secretos de seguridad | /var/opt/mssql/secrets |
Almacena certificados TLS, claves maestras de columna, etc. |
Roles mínimos de SQL Server para cada agente
| Agente | Se ejecuta como (Linux) | Se conecta a | Roles y derechos de base de datos necesarios |
|---|---|---|---|
| Agente de instantáneas |
mssql (a través de una tarea de Agente SQL) |
Distributor | db_owner en la base de datos de distribución; lectura/escritura en la carpeta de instantáneas |
| Agente lector de logs | mssql |
Publicador y distribuidor | db_owner en la base de datos y distribución de publicaciones. Es posible que necesite sysadmin al inicializar desde la copia de seguridad. |
| Agente de distribución (push) | mssql |
Distribuidor al suscriptor | db_owner en distribución; db_owner en la base de datos de suscripciones. Leer la carpeta de instantáneas. Miembro PAL. |
| Agente de Distribución (pull) |
mssql (en el suscriptor) |
Del suscriptor al distribuidor Distribuidor al suscriptor |
Igual que el agente de distribución (push), pero se aplican los permisos de uso compartido de instantáneas en el host del suscriptor |
| Agente de mezcla | mssql |
Publicador, distribuidor, suscriptor | db_owner en la distribución. Miembro PAL. Leer la carpeta de instantáneas. Lectura y escritura en bases de datos de publicación y suscripción. |
| Agente de lectura de cola | mssql |
Distributor | db_owner en la distribución. Se conecta a Publisher con db_owner en la base de datos de publicaciones. |
procedimientos recomendados
El mssql usuario y el grupo usados por SQL Server no son cuentas de inicio de sesión de forma predeterminada y deben mantenerse así. Para fines de seguridad, use la autenticación de Windows para SQL Server en Linux siempre que sea posible. Para obtener más información sobre cómo configurar la autenticación de Windows para SQL Server en Linux, consulte Tutorial: Uso de adutil para configurar la autenticación de Active Directory con SQL Server en Linux.
Restrinja aún más los permisos de archivo (mediante el comando chmod 700) siempre que el directorio no necesite acceso a grupos.
Al vincular directorios de host o recursos compartidos NFS a contenedores o máquinas virtuales, créelos primero y, a continuación, asigne el UID 10001 (valor predeterminado para mssql).
Evite conceder sysadmin a los inicios de sesión de aplicaciones. Utilice en su lugar roles granulares y EXECUTE AS envoltorios. Deshabilite o cambie el nombre de la sa cuenta una vez que haya creado otra cuenta sysadmin . Para obtener más información, consulte Deshabilitación de la cuenta sa como procedimiento recomendado.