Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les comptes de service requis et les autorisations de système de fichiers pour SQL Server sur Linux. Pour plus d’informations sur SQL Server sur les autorisations Windows, consultez Configurer des comptes de service Windows et des autorisations.
Principaux Windows intégrés
Même si SQL Server sur Linux s’exécute sous le compte de mssql système d’exploitation, les principaux Windows suivants existent au niveau de la couche SQL Server pour la compatibilité. Ne les supprimez pas ou refusez-les, sauf si vous comprenez pleinement les risques.
| Élement principal | Rôle SQL Server par défaut | Détails |
|---|---|---|
BUILTIN\Administrators |
administrateur système | Mappe aux administrateurs de niveau racine de l’hôte. Certains objets système s’exécutent dans le contexte de ce compte. |
NT AUTHORITY\SYSTEM |
public | Identificateur de service (SID) réservé au compte Windows SYSTEM . Conçu pour que les scripts multiplateformes qui le prévoient soient réussis. |
NT AUTHORITY\NETWORK SERVICE |
sysadmin (aucun rôle fixe) | Historiquement, le compte de démarrage par défaut pour plusieurs services SQL Server sur Windows. Présente uniquement pour la compatibilité rétroactive. Non utilisé par le moteur de base de données SQL Server sur Linux lui-même. |
Propriété du fichier et du répertoire
Tous les fichiers sous le dossier /var/opt/mssql doivent être détenus par l'utilisateur mssql et le groupe mssql (mssql:mssql), avec un accès en lecture et en écriture pour les deux. Si vous modifiez l’umask par défaut (0022) ou utilisez d’autres points de montage, vous devez réappliquer ces autorisations manuellement.
Les autorisations par défaut pour le mssql dossier sont les suivantes :
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/
Les autorisations par défaut pour le contenu du mssql dossier sont les suivantes :
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/
Pour plus d’informations sur la modification de l’emplacement des données utilisateur, de l’emplacement du fichier journal ou de la base de données système et des emplacements de journal, consultez Configurer SQL Server sur Linux avec l’outil mssql-conf.
Répertoires SQL Server classiques
| Objectif | Chemin d’accès par défaut | Détails |
|---|---|---|
| Bases de données système et utilisateur | /var/opt/mssql/data |
Inclut master, model, tempdb, et toutes les nouvelles bases de données, sauf si mssql-conf les redirige. Pour plus d’informations, consultez Modifier l’emplacement par défaut des bases de données système. |
| Journaux des transactions (s’ils sont séparés) |
/var/opt/mssql/dataou le chemin défini via mssql-conf set filelocation.defaultlogdir. |
Conservez la même propriété si vous déplacez les journaux des transactions. Pour plus d’informations, consultez Modifier l’emplacement du répertoire des données ou des journaux par défaut. |
| Sauvegardes | /var/opt/mssql/data |
Créez et définissez-les avant chown la première sauvegarde ou lors du mappage d’un volume ou d’un répertoire. Pour plus d’informations, consultez Modifier l’emplacement du répertoire de sauvegarde par défaut. |
| Journaux d’erreurs et journaux d’événements étendus (XE) | /var/opt/mssql/log |
Héberge également la session XE d’intégrité système par défaut. Pour plus d’informations, consultez Modifier l’emplacement du répertoire du fichier journal des erreurs par défaut. |
| Vidages de mémoire | /var/opt/mssql/log |
Utilisé pour les vidages mémoire et les DBCC CHECK* vidages principaux. Pour plus d’informations, consultez Modifier l’emplacement du répertoire de vidage par défaut. |
| Secrets de sécurité | /var/opt/mssql/secrets |
Stocke les certificats TLS, les clés principales de colonne, etc. |
Rôles SQL Server minimum pour chaque agent
| Agent | S’exécute sous Linux | Se connecte au | Rôles/droits de base de données requis |
|---|---|---|---|
| Agent d'instantané |
mssql (via la tâche de l'Agent SQL) |
Distributor | db_owner dans la base de données de distribution ; lecture/écriture dans le dossier d’instantanés |
| l'Agent de lecture du journal ; | mssql |
Serveur de publication et serveur de distribution | db_owner dans la base de données de publication et de distribution. Peut avoir besoin de sysadmin lors de l’initialisation à partir de la sauvegarde |
| Agent de distribution (push) | mssql |
Distributeur vers abonnés | db_owner dans la distribution ; db_owner dans la base de données d’abonnement. Lire le dossier d’instantané. Membre PAL. |
| Agent de distribution (pull) |
mssql (sur l’Abonné) |
Abonné au serveur de distribution Distributeur vers abonnés |
Identique à l’Agent de distribution (push), mais les autorisations de partage d’instantané s’appliquent à l’hôte de l’Abonné |
| Agent de fusion | mssql |
Serveur de publication, serveur de distribution, abonné | db_owner dans la distribution. Membre PAL. Lire le dossier d’instantané. Dans les bases de données de publication et d’abonnement, en lecture/écriture. |
| Agent de lecture de la file d'attente | mssql |
Distributor | db_owner dans la distribution. Se connecte à Publisher avec db_owner dans la base de données de publication. |
Meilleures pratiques
L’utilisateur et le mssql groupe utilisés par SQL Server sont un compte de non-connexion par défaut et doivent être conservés de cette façon. À des fins de sécurité, utilisez l’authentification Windows pour SQL Server sur Linux, le cas échéant. Pour plus d’informations sur la configuration de l’authentification Windows pour SQL Server sur Linux, consultez tutoriel : Utiliser adutil pour configurer l’authentification Active Directory avec SQL Server sur Linux.
Limitez davantage les autorisations de fichier (à l’aide de la commande chmod 700) chaque fois que le répertoire n’a pas besoin d’un accès de groupe.
Lors de la liaison de répertoires hôtes ou de partages NFS dans des conteneurs ou des machines virtuelles, créez-les d’abord, puis mappez-les à l’UID 10001 (valeur par défaut de mssql).
Évitez d’accorder l’administrateur système aux connexions d’application. Utilisez plutôt des rôles granulaires et des EXECUTE AS wrappers. Désactivez ou renommez le sa compte une fois que vous avez créé un autre compte sysadmin . Pour plus d’informations, consultez Désactiver le compte SA comme meilleure pratique.