Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve as contas de serviço necessárias e as permissões do sistema de arquivos para o SQL Server no Linux. Para obter mais informações sobre o SQL Server em permissões do Windows, consulte Configurar contas de serviço e permissões do Windows.
Principais internas do Windows
Embora o SQL Server no Linux seja executado sob a conta do mssql sistema operacional, as seguintes entidades do Windows existem na camada do SQL Server para compatibilidade. Não os remova ou negue, a menos que compreenda completamente os riscos.
| Diretor | Função padrão do SQL Server | Detalhes |
|---|---|---|
BUILTIN\Administrators |
administrador de sistemas | Mapeia para os administradores de nível raiz do host. Determinados objetos do sistema são executados no contexto dessa conta. |
NT AUTHORITY\SYSTEM |
public | Identificador de serviço (SID) reservado para a conta do Windows SYSTEM . Criado para que scripts multiplataforma, que são projetados para funcionar com sucesso, sejam bem-sucedidos. |
NT AUTHORITY\NETWORK SERVICE |
sysadmin (sem função fixa) | Historicamente, a conta de inicialização padrão para vários serviços do SQL Server no Windows. Presente apenas para compatibilidade com versões anteriores. Não usado pelo SQL Server no próprio Mecanismo de Banco de Dados Linux. |
Propriedade de arquivos e diretórios
Todos os arquivos sob a pasta /var/opt/mssql devem ser de propriedade do mssql usuário e mssql do grupo (mssql:mssql), com acesso de leitura e gravação para ambos. Se você alterar o umask padrão (0022), ou usar pontos de montagem alternativos, deverá reaplicar essas permissões manualmente.
As permissões padrão para a pasta são as mssql seguintes:
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/
As permissões padrão para o conteúdo da pasta são as mssql seguintes:
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 obter mais informações sobre como alterar o local dos dados do usuário, o local do arquivo de log ou o banco de dados do sistema e os locais de log, consulte Configurar o SQL Server no Linux com a ferramenta mssql-conf.
Diretórios típicos do SQL Server
| Propósito | Caminho padrão | Detalhes |
|---|---|---|
| Bases de dados de sistemas e utilizadores | /var/opt/mssql/data |
Inclui master, model, e quaisquer novos bancos de dados, tempdba menos que o mssql-conf os redirecione. Para obter mais informações, consulte Alterar o local padrão dos bancos de dados do sistema. |
| Logs de transações (se separados) |
/var/opt/mssql/data, ou o caminho definido via mssql-conf set filelocation.defaultlogdir. |
Mantenha a mesma propriedade se mover os logs de transações. Para obter mais informações, consulte Alterar os dados padrão ou o local do diretório de log. |
| Backups | /var/opt/mssql/data |
Crie e defina com chown antes do primeiro backup ou ao mapear um volume ou diretório. Para obter mais informações, consulte Alterar o local do diretório de backup padrão. |
| Registos de erros e registos de eventos ampliados (XE) | /var/opt/mssql/log |
Também executa a sessão XE padrão de saúde do sistema. Para obter mais informações, consulte Alterar o local do diretório do arquivo de log de erros padrão. |
| Despejos de memória | /var/opt/mssql/log |
Usado para despejos de núcleo e despejos DBCC CHECK*. Para obter mais informações, consulte Alterar o local do diretório de despejo padrão. |
| Segredos de segurança | /var/opt/mssql/secrets |
Armazena certificados TLS, chaves mestras de coluna, etc. |
Funções mínimas do SQL Server para cada agente
| Agente | Funciona como (Linux) | Conecta-se a | Funções/direitos de banco de dados necessários |
|---|---|---|---|
| Agente de instantâneo |
mssql (via tarefa do SQL Agent) |
Distributor | db_owner na base de dados de distribuição; leitura/gravação na pasta de instantâneo |
| Agente Leitor de Logs | mssql |
Editora & Distribuidor | db_owner na base de dados e distribuição de publicações. Pode precisar de sysadmin ao usar inicializar a partir do backup |
| Agente de distribuição (push) | mssql |
Distribuidor para Assinante | db_owner na distribuição; db_owner no banco de dados de assinaturas. Leia a pasta de capturas. Membro do PAL. |
| Agente de distribuição (pull) |
mssql (em Assinante) |
Assinante do Distribuidor Distribuidor para Subscritor |
O mesmo que o Distribution Agent (push), mas as permissões de partilha de instantâneos aplicam-se no servidor do subscritor |
| Agente de fusão | mssql |
Editor, Distribuidor, Assinante | db_owner na distribuição. Membro do PAL. Leia o diretório de instantâneos. Operações de leitura/escrita em bases de dados dedicadas à publicação e subscrição. |
| Agente leitor de filas | mssql |
Distributor | db_owner na distribuição. Conecta-se ao Publisher com db_owner na base de dados de publicação. |
Melhores práticas
O usuário e o mssql grupo usados pelo SQL Server são uma conta que não é de logon por padrão e devem ser mantidos dessa forma. Para fins de segurança, use a autenticação do Windows para SQL Server no Linux sempre que possível. Para obter mais informações sobre como configurar a autenticação do Windows para SQL Server no Linux, consulte Tutorial: Usar adutil para configurar a autenticação do Ative Directory com o SQL Server no Linux.
Restrinja ainda mais as permissões de arquivo (usando o comando chmod 700) sempre que o diretório não precisar de acesso ao grupo.
Ao vincular diretórios do host ou compartilhamentos NFS a contêineres ou máquinas virtuais, crie-os primeiro e depois mapeie o UID 10001 (padrão para mssql).
Evite conceder sysadmin para logins de aplicativos. Em vez disso, use funções granulares e envoltórios EXECUTE AS. Desative ou renomeie a sa conta assim que tiver outra conta sysadmin criada. Para obter mais informações, consulte Desabilitar a conta SA como prática recomendada.