Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve as contas de serviço necessárias e as permissões do sistema de ficheiros para SQL Server em Linux. Para mais informações sobre SQL Server nas permissões de Windows, consulte Configurar contas e permissões de serviço Windows.
Princípios incorporados do Windows
Embora SQL Server em Linux corra sob a conta do sistema operativo mssql, existem os seguintes princípios Windows na camada 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 Windows SYSTEM. Criado para que scripts multiplataforma, que são projetados para funcionar com sucesso, sejam bem-sucedidos. |
NT AUTHORITY\NETWORK SERVICE |
Nenhum (apenas compatibilidade) | Historicamente, é a conta de arranque padrão de vários serviços do SQL Server no Windows. Presente apenas para compatibilidade com versões anteriores. Não é usado pelo próprio SQL Server em Linux Database Engine. |
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 mais informações sobre como alterar a localização dos dados do utilizador, a localização dos ficheiros de registo ou a base de dados e registos do sistema, consulte Configure SQL Server em 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 de SQL Server para cada agente
| Agente | Funciona como (Linux) | Conecta-se a | Funções/direitos de banco de dados necessários |
|---|---|---|---|
| Agente de Snapshot |
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 Assinante |
Tal como no Distribution Agent (push), mas as permissões de partilha do snapshot aplicam-se no host do Assinante. |
| Agente de Fusão | mssql |
Publisher, Distribuidor, Assinante | db_owner na distribuição. Membro do PAL. Leia a pasta de capturas. 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. Liga-se a Publisher com db_owner na base de dados de publicações. |
Melhores práticas
O utilizador e grupo mssql usado por SQL Server é uma conta que não permite iniciar sessão por defeito, e deve ser mantido assim. Por razões de segurança, utilize Windows authentication para SQL Server em Linux sempre que possível. Para mais informações sobre como configurar a autenticação do Windows para o SQL Server no Linux, consulte Tutorial: Use o adutil para configurar a autenticação do Active 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.